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

402 lines
6.5 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 1439.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: PC
* Function Count: 15
* Decompile Time: 21 ms
* Timestamp: 10/27/2023 2:20:30 AM
*******************************************************************/
//Function Number: 1
func_43E6(param_00)
{
level notify("rain_change","hard",param_00);
level thread func_43EE(10,param_00);
wait param_00 * 0.5;
level.var_43E7["rain"] = "";
wait param_00 * 0.5;
}
//Function Number: 2
func_43E8(param_00)
{
level notify("rain_change","hard",param_00);
level thread func_43EE(8,param_00);
wait param_00 * 0.5;
level.var_43E7["rain"] = "";
wait param_00 * 0.5;
}
//Function Number: 3
func_43E9(param_00)
{
level notify("rain_change","light",param_00);
level thread func_43EE(5,param_00);
wait param_00 * 0.5;
level.var_43E7["rain"] = "light";
wait param_00 * 0.5;
}
//Function Number: 4
func_43EA(param_00)
{
level notify("rain_change","none",param_00);
level thread func_43EE(0,param_00);
wait param_00 * 0.5;
level.var_43E7["rain"] = "norain";
wait param_00 * 0.5;
}
//Function Number: 5
func_43EB(param_00)
{
common_scripts\utility::flag_init("_weather_lightning_enabled");
common_scripts\utility::flag_set("_weather_lightning_enabled");
if(param_00 == "none")
{
level.var_43EC = 0;
level._effect["rain_drops"] = level._effect["rain_" + level.var_43EC];
func_43EA(0.1);
return;
}
if(param_00 == "light")
{
level.var_43EC = 5;
level._effect["rain_drops"] = level._effect["rain_" + level.var_43EC];
func_43E9(0.1);
return;
}
level.var_43EC = 10;
level._effect["rain_drops"] = level._effect["rain_" + level.var_43EC];
func_43E6(0.1);
}
//Function Number: 6
func_43ED(param_00,param_01)
{
[[ param_00 ]]();
waittillframeend;
func_43F5(param_00,param_01);
}
//Function Number: 7
func_43EE(param_00,param_01)
{
level notify("rain_level_change");
level endon("rain_level_change");
if(level.var_43EC > param_00)
{
var_02 = level.var_43EC - param_00;
param_01 = param_01 / var_02;
for(var_03 = 0;var_03 < var_02;var_03++)
{
wait param_01;
level.var_43EC--;
level._effect["rain_drops"] = level._effect["rain_" + level.var_43EC];
}
}
if(level.var_43EC < param_00)
{
var_02 = param_00 - level.var_43EC;
param_01 = param_01 / var_02;
for(var_03 = 0;var_03 < var_02;var_03++)
{
wait param_01;
level.var_43EC++;
level._effect["rain_drops"] = level._effect["rain_" + level.var_43EC];
}
}
}
//Function Number: 8
func_43EF(param_00)
{
if(!isdefined(level.var_43F0))
{
level.var_43F0 = [];
level.var_43F1 = 0;
}
level.var_43F0[level.var_43F0.size] = param_00;
}
//Function Number: 9
func_43F2()
{
var_00 = getentarray("player","classname")[0];
for(;;)
{
playfx(level._effect["rain_drops"],var_00.origin + (0,0,650),var_00.origin + (0,0,680));
wait 0.3;
}
}
//Function Number: 10
func_43F3()
{
if(level.var_43EC == 0)
{
return randomfloat(30);
}
if(level.var_43EC == 1)
{
return randomfloat(24);
}
if(level.var_43EC == 2)
{
return randomfloat(20);
}
if(level.var_43EC == 3)
{
return randomfloat(15);
}
if(level.var_43EC == 4)
{
return randomfloat(12);
}
if(level.var_43EC == 5)
{
return randomfloat(9);
}
if(level.var_43EC == 6)
{
return randomfloat(8);
}
if(level.var_43EC == 7)
{
return randomfloat(8);
}
if(level.var_43EC == 8)
{
return randomfloat(7);
}
if(level.var_43EC == 9)
{
return randomfloat(6);
}
if(level.var_43EC == 10)
{
return randomfloat(5);
}
}
//Function Number: 11
func_43F4()
{
if(level.var_43EC == 0)
{
return 20;
}
if(level.var_43EC == 1)
{
return 18;
}
if(level.var_43EC == 2)
{
return 16;
}
if(level.var_43EC == 3)
{
return 14;
}
if(level.var_43EC == 4)
{
return 12;
}
if(level.var_43EC == 5)
{
return 10;
}
if(level.var_43EC == 6)
{
return 9;
}
if(level.var_43EC == 7)
{
return 8;
}
if(level.var_43EC == 8)
{
return 7;
}
if(level.var_43EC == 9)
{
return 6;
}
if(level.var_43EC == 10)
{
return 5;
}
}
//Function Number: 12
func_43F5(param_00,param_01)
{
level endon("rain_change");
var_02 = gettime() + func_43F4() + func_43F3() * 1000;
if(var_02 < level.var_43F6)
{
level.var_43F6 = var_02;
}
for(;;)
{
common_scripts\utility::flag_wait("_weather_lightning_enabled");
var_03 = level.var_43F6 - gettime() * 0.001;
if(var_03 > 0)
{
wait var_03;
}
if(!common_scripts\utility::flag("_weather_lightning_enabled"))
{
continue;
}
func_43F8(param_00,param_01);
level.var_43F6 = gettime() + func_43F4() + func_43F3() * 1000;
}
}
//Function Number: 13
func_43F7(param_00)
{
if(isdefined(level.var_43F1))
{
common_scripts\utility::exploder(level.var_43F0[level.var_43F1]);
}
[[ param_00 ]]();
}
//Function Number: 14
func_43F8(param_00,param_01,param_02)
{
var_03[0] = "quick";
thread func_43F9();
if(!isdefined(var_03))
{
var_03 = randomint(var_7B.size);
}
var_04 = 0;
if(isdefined(level.var_43F1))
{
while(var_04 == level.var_43F1)
{
var_04 = randomint(level.var_43F0.size);
}
level.var_43F1 = var_04;
}
switch(var_7B[var_03])
{
case "quick":
func_43F7(param_02);
break;
case "double":
func_43F7(param_02);
wait 0.05;
func_43F7(param_02);
break;
case "triple":
func_43F7(param_02);
wait 0.05;
func_43F7(param_02);
wait 0.5;
func_43F7(param_02);
break;
}
}
//Function Number: 15
func_43F9()
{
if(level.var_43EC == 0)
{
wait 6 + randomfloat(2);
}
else if(level.var_43EC == 1)
{
wait 5 + randomfloat(1.8);
}
else if(level.var_43EC == 2)
{
wait 4.5 + randomfloat(1.6);
}
else if(level.var_43EC == 3)
{
wait 4 + randomfloat(1.6);
}
else if(level.var_43EC == 4)
{
wait 3.5 + randomfloat(1.5);
}
else if(level.var_43EC == 5)
{
wait 3 + randomfloat(1.5);
}
else if(level.var_43EC == 6)
{
wait 2.5 + randomfloat(1.2);
}
else if(level.var_43EC == 7)
{
wait 2 + randomfloat(1);
}
else if(level.var_43EC == 8)
{
wait 1.9 + randomfloat(0.5);
}
else if(level.var_43EC == 9)
{
wait 1.5;
}
else if(level.var_43EC == 10)
{
wait 1;
}
var_00 = spawn("script_origin",(0,0,0));
var_00.origin = level.player.origin + (0,0,60);
var_00 linkto(level.player);
if(level.var_43EC <= 8)
{
var_00 playsound("elm_thunder_distant","sounddone");
}
else
{
var_00 playsound("elm_thunder_distant","sounddone");
var_00 thread maps\_utility::play_sound_on_entity("elm_thunder_strike");
}
var_00 waittill("sounddone");
var_00 delete();
}