Full AW Dump

This commit is contained in:
InfinityLoader 2024-04-22 02:38:24 -04:00
parent b53c55f0c0
commit b2389dbcb9
2093 changed files with 657703 additions and 107923 deletions

View File

@ -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()
{
}

View File

@ -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)];
}

View File

@ -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()
{
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

File diff suppressed because it is too large Load Diff

View File

@ -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;
}
}
}

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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)
{
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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];
}

File diff suppressed because it is too large Load Diff

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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();
}

View File

@ -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();
}
}

View File

@ -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";
}

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -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);
}
}

View File

@ -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";
}

View File

@ -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);
}

View File

@ -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);
}

File diff suppressed because it is too large Load Diff

View File

@ -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);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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);
}

File diff suppressed because it is too large Load Diff

View File

@ -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;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -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);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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]--;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -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");
}

File diff suppressed because it is too large Load Diff

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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");
}

File diff suppressed because it is too large Load Diff

View File

@ -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];
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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)
{
}

View File

@ -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()
{
}

View File

@ -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");
}

View File

@ -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];
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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();
}

View File

@ -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;
}

View File

@ -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()
{
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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");
}
}
}
}

View File

@ -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;
}

View File

@ -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();
}
}

View File

@ -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();
}

View File

@ -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");
}

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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");
}

View File

@ -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;
}
}
}

View File

@ -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";
}

File diff suppressed because it is too large Load Diff

View File

@ -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);
}

View File

@ -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++;
}
}

View File

@ -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;
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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);
}
}

View File

@ -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");
}
}
}

View File

@ -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);
}
}

View File

@ -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");
}
}

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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");
}

View File

@ -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);
}
}

View File

@ -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");
}

Some files were not shown because too many files have changed in this diff Show More