mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 10:27:55 -05:00
458 lines
7.4 KiB
Plaintext
458 lines
7.4 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\sp\_friendlyfire.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 18
|
|
* Decompile Time: 872 ms
|
|
* Timestamp: 10/27/2023 12:24:21 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
level.var_740A["min_participation"] = -200;
|
|
level.var_740A["max_participation"] = 1000;
|
|
level.var_740A["enemy_kill_points"] = 250;
|
|
level.var_740A["friend_kill_points"] = -650;
|
|
level.var_740A["point_loss_interval"] = 1.25;
|
|
level.player.var_C929 = 0;
|
|
level.var_7416 = 0;
|
|
level.var_7417 = 0;
|
|
setdvarifuninitialized("friendlyfire_dev_disabled","0");
|
|
scripts\common\utility::flag_init("friendly_fire_warning");
|
|
thread func_4EDB();
|
|
thread func_C92B();
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_4EDB()
|
|
{
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_20A7(param_00)
|
|
{
|
|
level.var_740B = param_00;
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_E013(param_00)
|
|
{
|
|
level.var_740B = undefined;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_73B1(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(param_00.team))
|
|
{
|
|
param_00.team = "allies";
|
|
}
|
|
|
|
if(isdefined(level.var_BFED))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level endon("mission failed");
|
|
level thread func_C15E(param_00);
|
|
level thread func_C160(param_00);
|
|
level thread func_C161(param_00);
|
|
for(;;)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(param_00.health <= 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = undefined;
|
|
var_02 = undefined;
|
|
var_03 = undefined;
|
|
var_04 = undefined;
|
|
var_05 = undefined;
|
|
var_06 = undefined;
|
|
var_07 = undefined;
|
|
param_00 waittill("friendlyfire_notify",var_01,var_02,var_03,var_04,var_05,var_06);
|
|
if(!isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(level.var_740B))
|
|
{
|
|
var_01 = var_01 * level.var_740B;
|
|
var_01 = int(var_01);
|
|
}
|
|
|
|
var_08 = 0;
|
|
if(!isdefined(var_06))
|
|
{
|
|
var_06 = param_00.var_E2;
|
|
}
|
|
|
|
if(isdefined(level.var_740C))
|
|
{
|
|
if(isdefined(var_02.var_4D5C))
|
|
{
|
|
var_07 = 1;
|
|
var_02 = var_02.var_4D5C;
|
|
}
|
|
}
|
|
|
|
if(isdefined(level.var_740D))
|
|
{
|
|
if(isdefined(var_02) && isdefined(var_02.var_222) && var_02.var_222 == level.player)
|
|
{
|
|
var_08 = 1;
|
|
}
|
|
}
|
|
|
|
if(isplayer(var_02))
|
|
{
|
|
var_08 = 1;
|
|
if(isdefined(var_06) && var_06 == "none")
|
|
{
|
|
var_08 = 0;
|
|
}
|
|
|
|
if(var_02 isusingturret())
|
|
{
|
|
var_08 = 1;
|
|
}
|
|
|
|
if(isdefined(var_07))
|
|
{
|
|
var_08 = 1;
|
|
}
|
|
}
|
|
else if(isdefined(var_02.var_9F) && var_02.var_9F == "script_vehicle")
|
|
{
|
|
var_09 = var_02 method_816A();
|
|
if(isdefined(var_09) && isplayer(var_09))
|
|
{
|
|
var_08 = 1;
|
|
}
|
|
}
|
|
|
|
if(!var_08)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(param_00.team))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_0A = param_00.team == level.player.team;
|
|
var_0B = undefined;
|
|
if(isdefined(param_00.type) && param_00.type == "civilian")
|
|
{
|
|
var_0B = 1;
|
|
}
|
|
else
|
|
{
|
|
var_0B = issubstr(param_00.classname,"civilian");
|
|
}
|
|
|
|
var_0C = var_01 == -1;
|
|
if(!var_0A && !var_0B)
|
|
{
|
|
if(var_0C)
|
|
{
|
|
level.player.var_C929 = level.player.var_C929 + level.var_740A["enemy_kill_points"];
|
|
func_C92A();
|
|
return;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(param_00.var_BFED))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_05 == "MOD_PROJECTILE_SPLASH" && isdefined(level.var_BFEE))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_06) && var_06 == "claymore")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_0C)
|
|
{
|
|
if(isdefined(param_00.var_738F))
|
|
{
|
|
level.player.var_C929 = level.player.var_C929 + param_00.var_738F;
|
|
}
|
|
else
|
|
{
|
|
level.player.var_C929 = level.player.var_C929 + level.var_740A["friend_kill_points"];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
level.player.var_C929 = level.player.var_C929 - var_01;
|
|
}
|
|
|
|
func_C92A();
|
|
if(func_3DA1(param_00,var_05) && func_EB68())
|
|
{
|
|
if(var_0C)
|
|
{
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if(isdefined(level.var_73B0))
|
|
{
|
|
[[ level.var_73B0 ]](param_00,var_01,var_02,var_03,var_04,var_05,var_06);
|
|
continue;
|
|
}
|
|
|
|
func_73AE(var_0B);
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_73AE(param_00)
|
|
{
|
|
if(isdefined(level.var_6AD2) && level.var_6AD2)
|
|
{
|
|
level thread func_B8CF(param_00);
|
|
return;
|
|
}
|
|
|
|
var_01 = level.var_7417;
|
|
if(isdefined(level.var_740C) && param_00)
|
|
{
|
|
var_01 = 0;
|
|
}
|
|
|
|
if(var_01)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(level.var_7416 == 1)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(level.player.var_C929 <= level.var_740A["min_participation"])
|
|
{
|
|
level thread func_B8CF(param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_3DA1(param_00,param_01)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_02 = 0;
|
|
if(isdefined(param_00.var_E2) && param_00.var_E2 == "none")
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
|
|
if(isdefined(param_01) && param_01 == "MOD_GRENADE_SPLASH")
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_EB68()
|
|
{
|
|
var_00 = gettime();
|
|
if(var_00 < 4500)
|
|
{
|
|
return 1;
|
|
}
|
|
else if(var_00 - level.var_2668.var_A943 < 4500)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_C92A()
|
|
{
|
|
if(level.player.var_C929 > level.var_740A["max_participation"])
|
|
{
|
|
level.player.var_C929 = level.var_740A["max_participation"];
|
|
}
|
|
|
|
if(level.player.var_C929 < level.var_740A["min_participation"])
|
|
{
|
|
level.player.var_C929 = level.var_740A["min_participation"];
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_C92B()
|
|
{
|
|
level endon("mission failed");
|
|
for(;;)
|
|
{
|
|
if(level.player.var_C929 > 0)
|
|
{
|
|
level.player.var_C929--;
|
|
}
|
|
else if(level.player.var_C929 < 0)
|
|
{
|
|
level.player.var_C929++;
|
|
}
|
|
|
|
wait(level.var_740A["point_loss_interval"]);
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_1299E()
|
|
{
|
|
level.var_7416 = 0;
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_129A9()
|
|
{
|
|
level.var_7416 = 1;
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_B8CF(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = 0;
|
|
}
|
|
|
|
if(getdvar("friendlyfire_dev_disabled") == "1")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(getdvarint("exec_review") > 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.player endon("death");
|
|
if(!isalive(level.player))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level endon("mine death");
|
|
level notify("mission failed");
|
|
level notify("friendlyfire_mission_fail");
|
|
waittillframeend;
|
|
function_01C5("hud_missionFailed",1);
|
|
setomnvar("ui_hide_weapon_info",1);
|
|
function_01C5("hud_showstance",0);
|
|
function_01C5("actionSlotsHide",1);
|
|
if(isdefined(level.player.var_6AD1))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(param_00)
|
|
{
|
|
setomnvar("ui_death_hint",9);
|
|
}
|
|
else if(isdefined(level.var_4C51))
|
|
{
|
|
lib_0B60::func_F32D(level.var_4C51);
|
|
}
|
|
else
|
|
{
|
|
setomnvar("ui_death_hint",12);
|
|
}
|
|
|
|
if(isdefined(level.var_4C52))
|
|
{
|
|
thread lib_0B60::func_F330(level.var_4C52,64,64,0);
|
|
}
|
|
|
|
scripts\sp\_utility::func_B8D1();
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_1D2B()
|
|
{
|
|
level.player endon("death");
|
|
self endon("death");
|
|
self method_83A1();
|
|
scripts\sp\_utility::func_414F();
|
|
scripts\sp\_utility::func_F417(1);
|
|
scripts\sp\_utility::func_41E8("axis","allies");
|
|
for(;;)
|
|
{
|
|
self.team = "axis";
|
|
self.var_6BAE = level.player;
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_C15E(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
for(;;)
|
|
{
|
|
param_00 waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_06,var_06,var_06,var_07);
|
|
param_00 notify("friendlyfire_notify",var_01,var_02,var_03,var_04,var_05,var_07);
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_C160(param_00)
|
|
{
|
|
param_00 waittill("damage_notdone",var_01,var_02,var_03,var_03,var_04);
|
|
param_00 notify("friendlyfire_notify",-1,var_02,undefined,undefined,var_04);
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_C161(param_00)
|
|
{
|
|
param_00 waittill("death",var_01,var_02,var_03);
|
|
param_00 notify("friendlyfire_notify",-1,var_01,undefined,undefined,var_02,var_03);
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_53AE(param_00)
|
|
{
|
|
} |