Files
IL-GSC/MW3/PC/MP/maps/mp/_radiation.gsc
InfinityLoader d559c1d414 Added MW3 Scripts
2023-10-27 03:47:01 -04:00

232 lines
4.5 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\_radiation.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: PC
* Function Count: 10
* Decompile Time: 156 ms
* Timestamp: 10/27/2023 2:16:51 AM
*******************************************************************/
//Function Number: 1
radiation()
{
precachestring(&"SCRIPT_RADIATION_DEATH");
var_00 = getentarray("radiation","targetname");
if(var_00.size > 0)
{
precacheshellshock("mp_radiation_low");
precacheshellshock("mp_radiation_med");
precacheshellshock("mp_radiation_high");
foreach(var_02 in var_00)
{
var_02 thread common_scripts\_dynamic_world::triggertouchthink(::playerenterarea,::playerleavearea);
}
thread onplayerconnect();
}
}
//Function Number: 2
onplayerconnect()
{
for(;;)
{
level waittill("connected",var_00);
var_00.var_2BC2 = 0;
}
}
//Function Number: 3
playerenterarea(param_00)
{
self.var_2BC2++;
if(self.var_2BC2 == 1)
{
radiationeffect();
}
}
//Function Number: 4
playerleavearea(param_00)
{
self.var_2BC2--;
if(self.var_2BC2 != 0)
{
return;
}
self.var_2BC5 = 0;
self notify("leftTrigger");
if(isdefined(self.var_2BC6))
{
self.var_2BC6 fadeoutblackout(0.1,0);
}
}
//Function Number: 5
soundwatcher(param_00)
{
common_scripts\utility::waittill_any("death","leftTrigger");
self stoploopsound();
}
//Function Number: 6
radiationeffect()
{
self endon("disconnect");
self endon("game_ended");
self endon("death");
self endon("leftTrigger");
self.var_2BC5 = 0;
thread soundwatcher(self);
for(;;)
{
self.var_2BC5++;
switch(self.var_2BC5)
{
case 1:
self.var_2BC9 = "item_geigercouner_level2";
self playloopsound(self.var_2BC9);
self viewkick(1,self.origin);
break;
case 3:
self shellshock("mp_radiation_low",4);
self.var_2BC9 = "item_geigercouner_level3";
self stoploopsound();
self playloopsound(self.var_2BC9);
self viewkick(3,self.origin);
doradiationdamage(15);
break;
case 4:
self shellshock("mp_radiation_med",5);
self.var_2BC9 = "item_geigercouner_level3";
self stoploopsound();
self playloopsound(self.var_2BC9);
self viewkick(15,self.origin);
thread blackout();
doradiationdamage(25);
break;
case 6:
self shellshock("mp_radiation_high",5);
self.var_2BC9 = "item_geigercouner_level4";
self stoploopsound();
self playloopsound(self.var_2BC9);
self viewkick(75,self.origin);
doradiationdamage(45);
break;
case 8:
self shellshock("mp_radiation_high",5);
self.var_2BC9 = "item_geigercouner_level4";
self stoploopsound();
self playloopsound(self.var_2BC9);
self viewkick(127,self.origin);
doradiationdamage(175);
break;
}
wait 1;
}
wait 5;
}
//Function Number: 7
blackout()
{
self endon("disconnect");
self endon("game_ended");
self endon("death");
self endon("leftTrigger");
if(!isdefined(self.var_2BC6))
{
self.var_2BC6 = newclienthudelem(self);
self.var_2BC6.x = 0;
self.var_2BC6.y = 0;
self.var_2BC6 setshader("black",640,480);
self.var_2BC6.alignx = "left";
self.var_2BC6.aligny = "top";
self.var_2BC6.horzalign = "fullscreen";
self.var_2BC6.vertalign = "fullscreen";
self.var_2BC6.alpha = 0;
}
var_00 = 1;
var_01 = 2;
var_02 = 0.25;
var_03 = 1;
var_04 = 5;
var_05 = 100;
var_06 = 0;
for(;;)
{
while(self.var_2BC5 > 1)
{
var_07 = var_05 - var_04;
var_06 = self.var_2BC5 - var_04 / var_07;
if(var_06 < 0)
{
var_06 = 0;
}
else if(var_06 > 1)
{
var_06 = 1;
}
var_08 = var_01 - var_00;
var_09 = var_00 + var_08 * 1 - var_06;
var_0A = var_03 - var_02;
var_0B = var_02 + var_0A * var_06;
var_0C = var_06 * 0.5;
if(var_06 == 1)
{
break;
}
var_0D = var_09 / 2;
self.var_2BC6 fadeinblackout(var_0D,var_0B);
self.var_2BC6 fadeoutblackout(var_0D,var_0C);
wait var_06 * 0.5;
}
if(var_06 == 1)
{
break;
}
if(self.var_2BC6.alpha != 0)
{
self.var_2BC6 fadeoutblackout(1,0);
}
wait 0.05;
}
self.var_2BC6 fadeinblackout(2,0);
}
//Function Number: 8
doradiationdamage(param_00)
{
self thread [[ level.callbackplayerdamage ]](self,self,param_00,0,"MOD_SUICIDE","claymore_mp",self.origin,(0,0,0) - self.origin,"none",0);
}
//Function Number: 9
fadeinblackout(param_00,param_01)
{
self fadeovertime(param_00);
self.alpha = param_01;
wait param_00;
}
//Function Number: 10
fadeoutblackout(param_00,param_01)
{
self fadeovertime(param_00);
self.alpha = param_01;
wait param_00;
}