Files
IL-GSC/MW3/PC/SP/1440.gsc
InfinityLoader d559c1d414 Added MW3 Scripts
2023-10-27 03:47:01 -04:00

197 lines
4.1 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 1440.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: PC
* Function Count: 5
* Decompile Time: 7 ms
* Timestamp: 10/27/2023 2:20:31 AM
*******************************************************************/
//Function Number: 1
main()
{
maps\_utility::precache("woodgib_medium");
maps\_utility::precache("woodgib_big");
maps\_utility::precache("woodgib_small1");
maps\_utility::precache("woodgib_small2");
maps\_utility::precache("wood_plank2");
maps\_utility::precache("gib_woodplank");
var_00 = getentarray("wood_splinter","targetname");
maps\_utility::array_thread(var_00,::func_43FA);
}
//Function Number: 2
func_43FA()
{
if(!isdefined(self.target))
{
return;
}
var_00 = getentarray(self.target,"targetname");
for(var_01 = 0;var_01 < var_00.size;var_01++)
{
if(isdefined(var_00[var_01].script_noteworthy) && var_00[var_01].script_noteworthy == "notsolid")
{
var_00[var_01] notsolid();
}
if(!isdefined(var_00[var_01].target))
{
continue;
}
var_00[var_01].var_43FB = getentarray(var_00[var_01].target,"targetname");
for(var_02 = 0;var_02 < var_00[var_01].var_43FB.size;var_02++)
{
if(isdefined(var_00[var_01].var_43FB[var_02]))
{
var_00[var_01].var_43FB[var_02] hide();
}
}
}
if(isdefined(self.script_noteworthy))
{
level waittill(self.script_noteworthy);
}
self waittill("trigger",var_03);
if(isplayer(var_03))
{
var_04 = var_03 getorigin();
}
else
{
var_04 = var_04.origin;
}
for(var_01 = 0;var_01 < var_00.size;var_01++)
{
if(!isdefined(var_00[var_01].target))
{
continue;
}
var_00[var_01].var_43FB = getentarray(var_00[var_01].target,"targetname");
for(var_02 = 0;var_02 < var_00[var_01].var_43FB.size;var_02++)
{
if(isdefined(var_00[var_01].var_43FB[var_02]))
{
var_00[var_01].var_43FB[var_02] show();
}
}
}
for(var_01 = 0;var_01 < var_00.size;var_01++)
{
if(!isdefined(var_00[var_01]))
{
continue;
}
var_00[var_01] playsound("wood_break");
var_00[var_01] thread func_43FC(var_04);
var_00[var_01] delete();
}
}
//Function Number: 3
func_43FC(param_00)
{
var_01 = spawn("script_model",(0,0,0));
if(randomint(100) > 25)
{
if(isdefined(self.script_noteworthy) && self.script_noteworthy == "dark")
{
if(randomint(100) > 50)
{
var_01 setmodel("wood_plank2");
}
else
{
var_01 setmodel("gib_woodplank");
}
}
else if(randomint(100) > 50)
{
var_01 setmodel("woodgib_big");
}
else
{
var_01 setmodel("woodgib_medium");
}
}
var_01.origin = self getorigin();
var_01 thread func_43FD(param_00);
if(isdefined(self.script_noteworthy) && self.script_noteworthy == "dark")
{
return;
}
func_43FE(var_01.origin,param_00);
}
//Function Number: 4
func_43FD(param_00)
{
var_01 = vectornormalize(self.origin - param_00);
var_01 = var_01 * 250 + randomint(100);
var_02 = var_01[0];
var_03 = var_01[1];
var_04 = 200 + randomint(100);
if(var_02 > 0)
{
self rotateroll(1500 + randomfloat(2500) * -1,5,0,0);
}
else
{
self rotateroll(1500 + randomfloat(2500),5,0,0);
}
self movegravity((var_02,var_03,var_04),12);
wait 6;
self delete();
}
//Function Number: 5
func_43FE(param_00,param_01)
{
var_02 = [];
for(var_03 = 0;var_03 < randomint(6) + 1;var_03++)
{
var_02[var_03] = spawn("script_model",param_00);
var_02[var_03].origin = var_02[var_03].origin + (randomfloat(10) - 5,0,randomfloat(30) - 15);
if(randomint(100) > 50)
{
var_02[var_03] setmodel("woodgib_small1");
}
else
{
var_02[var_03] setmodel("woodgib_small2");
}
param_01 = param_01 + (50 - randomint(100),50 - randomint(100),0);
var_04 = vectornormalize(param_00 - param_01);
var_04 = var_04 * 300 + randomint(150);
var_05 = var_04[0];
var_06 = var_04[1];
var_07 = 120 + randomint(200);
var_02[var_03] movegravity((var_05,var_06,var_07),12);
if(var_05 > 0)
{
var_02[var_03] rotateroll(1500 + randomfloat(2500) * -1,5,0,0);
continue;
}
var_02[var_03] rotateroll(1500 + randomfloat(2500),5,0,0);
}
wait 6;
for(var_03 = 0;var_03 < var_02.size;var_03++)
{
var_02[var_03] delete();
}
}