IL-GSC/AW/PC/maps/crash_exo_temperature.gsc
InfinityLoader b2389dbcb9 Full AW Dump
2024-04-22 02:38:24 -04:00

162 lines
4.1 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: crash_exo_temperature.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 9
* Decompile Time: 142 ms
* Timestamp: 4/22/2024 2:27:09 AM
*******************************************************************/
//Function Number: 1
precache_exo_temperature()
{
precacheshader("hud_exo_temp_bg");
precacheshader("hud_exo_temp_warning");
precacheshader("overlay_frozen_2");
precachestring(&"temperature_fade_out");
precachestring(&"temperature_fade_in");
precachestring(&"temperature_warning_blink");
precachestring(&"temperature_warning_hide");
}
//Function Number: 2
create_exo_temperature_hud(param_00)
{
setomnvar("ui_temperaturegauge_hud",1);
level.player setclientomnvar("ui_temperaturegauge_external",param_00);
level.body_temp = 98.6;
level.exo_temp = param_00 + 25;
level.exo_temperature_hud = [];
level.exo_temperature_hud["overlay"] = newhudelem();
level.exo_temperature_hud["overlay"].x = 0;
level.exo_temperature_hud["overlay"].y = 0;
level.exo_temperature_hud["overlay"] setshader("overlay_frozen_2",640,480);
level.exo_temperature_hud["overlay"].sort = 50;
level.exo_temperature_hud["overlay"].lowresbackground = 1;
level.exo_temperature_hud["overlay"].alignx = "left";
level.exo_temperature_hud["overlay"].aligny = "top";
level.exo_temperature_hud["overlay"].horzalign = "fullscreen";
level.exo_temperature_hud["overlay"].vertalign = "fullscreen";
level.exo_temperature_hud["overlay"].alpha = 0;
foreach(var_02 in level.exo_temperature_hud)
{
var_02.hidewheninmenu = 1;
}
thread monitor_temperature();
}
//Function Number: 3
remove_exo_temperature_hud(param_00)
{
level notify("remove_exo_temperature_hud");
if(isdefined(param_00) && param_00 > 0)
{
luinotifyevent(&"temperature_fade_out",1,int(param_00 * 1000));
foreach(var_02 in level.exo_temperature_hud)
{
var_02 fadeovertime(param_00);
var_02.alpha = 0;
}
wait(param_00);
}
foreach(var_02 in level.exo_temperature_hud)
{
var_02 destroy();
}
level.exo_temperature_hud = undefined;
setomnvar("ui_temperaturegauge_hud",0);
}
//Function Number: 4
monitor_temperature()
{
level endon("remove_exo_temperature_hud");
var_00 = 98.6;
var_01 = 96;
var_02 = 92.5;
var_03 = 97;
var_04 = 91.5;
var_05 = 0;
for(;;)
{
level.exo_temperature_hud["overlay"].alpha = 1 - clamp(level.body_temp - var_04 / var_03 - var_04,0,1);
if(level.body_temp < var_01 && !var_05)
{
luinotifyevent(&"temperature_warning_blink",1,500);
var_05 = 1;
}
else if(level.body_temp > var_01 && var_05)
{
luinotifyevent(&"temperature_warning_hide",1,100);
var_05 = 0;
}
wait(0.05);
}
}
//Function Number: 5
activate_heater()
{
}
//Function Number: 6
deactivate_heater()
{
}
//Function Number: 7
set_exo_temperature_over_time(param_00,param_01)
{
level notify("set_exo_temperature");
level endon("set_exo_temperature");
level endon("remove_exo_temperature_hud");
var_02 = param_00 - level.exo_temp / param_01 * 0.05;
while(param_01 > 0)
{
level.exo_temp = level.exo_temp + var_02;
param_01 = param_01 - 0.05;
wait(0.05);
}
level.exo_temp = param_00;
}
//Function Number: 8
set_operator_temperature_over_time(param_00,param_01)
{
level notify("set_operator_temperature");
level endon("set_operator_temperature");
level endon("remove_exo_temperature_hud");
var_02 = param_00 - level.body_temp / param_01 * 0.05;
while(param_01 > 0)
{
level.body_temp = level.body_temp + var_02;
param_01 = param_01 - 0.05;
wait(0.05);
}
level.body_temp = param_00;
}
//Function Number: 9
set_external_temperature_over_time(param_00,param_01)
{
level notify("set_external_temperature");
level endon("set_external_temperature");
level endon("remove_exo_temperature_hud");
var_02 = param_00 - level.player getclientomnvar("ui_temperaturegauge_external") / param_01 * 0.05;
while(param_01 > 0)
{
level.player setclientomnvar("ui_temperaturegauge_external",level.player getclientomnvar("ui_temperaturegauge_external") + var_02);
param_01 = param_01 - 0.05;
wait(0.05);
}
level.player setclientomnvar("ui_temperaturegauge_external",param_00);
}