mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
169 lines
3.9 KiB
Plaintext
169 lines
3.9 KiB
Plaintext
/*******************************************************************
|
|
* 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");
|
|
} |