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

268 lines
6.1 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: _deployablecoverai.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 11
* Decompile Time: 164 ms
* Timestamp: 4/22/2024 2:20:42 AM
*******************************************************************/
//Function Number: 1
battle_deployable_cover_setup()
{
deployable_cover_anims();
level.deployablecover = [];
var_00 = common_scripts\utility::getstructarray("deployable_cover_animnode","targetname");
foreach(var_02 in var_00)
{
var_03 = getent(var_02.target,"targetname");
var_03.contents = var_03 setcontents(0);
var_03 hide();
var_04 = getent(var_03.target,"targetname");
var_04 notsolid();
var_04 connectpaths();
var_05 = getentarray(var_04.target,"targetname");
foreach(var_07 in var_05)
{
var_07 disconnectnode();
}
level.deployablecover[level.deployablecover.size] = var_02;
}
}
//Function Number: 2
handle_deployable_cover(param_00,param_01)
{
thread deployable_cover_think();
if(isdefined(param_01))
{
common_scripts\utility::flag_wait(param_01);
}
if(!isdefined(level.deployablecoverinuse))
{
level.deployablecoverinuse = 0;
}
else
{
level.deployablecoverinuse++;
if(level.deployablecoverinuse >= level.deployablecover.size)
{
level.deployablecoverinuse = 0;
}
}
var_02 = 0;
if(isdefined(param_00))
{
for(;;)
{
var_03 = getent(param_00,"targetname");
if(isdefined(var_03) && ispointinvolume(level.deployablecover[level.deployablecoverinuse].origin,var_03) && !isdefined(level.deployablecover[level.deployablecoverinuse].isused))
{
break;
}
else
{
level.deployablecoverinuse++;
if(level.deployablecoverinuse >= level.deployablecover.size)
{
level.deployablecoverinuse = 0;
var_02++;
wait(5);
if(var_02 > 3)
{
return;
}
}
}
wait(0.25);
if(!isalive(self))
{
return;
}
}
}
if(isalive(self) && isdefined(level.deployablecover[level.deployablecoverinuse].isused))
{
handle_deployable_cover(param_00,param_01);
return;
}
var_04 = level.deployablecoverinuse;
level.deployablecover[var_04].isused = 1;
var_05 = level.deployablecover[var_04];
var_06 = getent(var_05.target,"targetname");
var_07 = getent(var_06.target,"targetname");
var_08 = getentarray(var_07.target,"targetname");
if(isalive(self))
{
self.animname = "generic";
self.ignoreme = 1;
self.ignoresuppression = 1;
thread deployable_cover_focus_goal();
thread deployable_cover_watch_death(var_04);
var_05 maps\_anim::anim_reach_solo(self,"deployable_cover_deploy");
}
var_09 = maps\_utility::spawn_anim_model("deployable_cover",(0,0,0));
var_09 show();
if(isalive(self))
{
thread deployable_cover_kill(var_09);
thread deployable_cover_cleanup(var_09,var_06,var_07,var_08,var_04);
self notify("placing_deployable_cover");
var_0A = [self,var_09];
var_05 thread maps\_anim::anim_single(var_0A,"deployable_cover_deploy");
}
if(isalive(self))
{
wait(2.3);
}
if(isalive(self))
{
self notify("deployable_start");
}
if(isalive(self))
{
wait(2.5);
}
if(isdefined(var_09))
{
var_09.set = 1;
var_09 waittillmatch("end","single anim");
}
if(isdefined(self))
{
self notify("deployable_cleanup");
self notify("deployable_finished");
}
}
//Function Number: 3
deployable_cover_think()
{
var_00 = spawn("script_model",self gettagorigin("j_SpineUpper") + (0,0,0));
var_00.angles = self gettagangles("j_SpineUpper") + (0,0,0);
var_00.animname = "deployable_cover";
var_00 setmodel("deployable_cover");
var_00 maps\_anim::setanimtree();
var_00 maps\_anim::anim_first_frame_solo(var_00,"deployable_cover_closed_idle");
var_00 linkto(self,"j_SpineUpper");
self waittill("placing_deployable_cover");
var_00 delete();
}
//Function Number: 4
deployable_cover_focus_goal()
{
self endon("death");
self endon("placing_deployable_cover");
for(;;)
{
self.goalradius = 16;
wait 0.05;
}
}
//Function Number: 5
deployable_cover_watch_death(param_00)
{
self endon("placing_deployable_cover");
self waittill("damage");
level.deployablecover[param_00].isused = undefined;
}
//Function Number: 6
deployable_cover_kill(param_00)
{
self endon("deployable_finished");
self endon("deployable_double");
self waittill("damage");
if(isdefined(self) && isalive(self))
{
maps\_utility::anim_stopanimscripted();
self kill();
}
param_00 maps\_utility::anim_stopanimscripted();
self notify("deployable_cleanup");
}
//Function Number: 7
deployable_cover_cleanup(param_00,param_01,param_02,param_03,param_04)
{
self endon("deployable_double");
common_scripts\utility::waittill_any("deployable_start","death");
wait 0.05;
if(isalive(self))
{
param_02 solid();
param_02 disconnectpaths();
}
if(isalive(self))
{
common_scripts\utility::waittill_any("deployable_cleanup","death");
}
if(isalive(self) || isdefined(param_00.set))
{
param_01 setcontents(param_01.contents);
param_01 show();
foreach(var_06 in param_03)
{
var_06 connectnode();
}
}
else
{
param_02 notsolid();
param_02 connectpaths();
level.deployablecover[param_04].isused = undefined;
}
wait 0.05;
self notify("goal");
param_00 delete();
}
//Function Number: 8
deployable_cover_anims()
{
deployable_cover_ai();
deployable_cover_model();
}
//Function Number: 9
deployable_cover_ai()
{
level.scr_anim["generic"]["deployable_cover_deploy"] = %fusion_lift_deploy_cover_carter_enter;
level.scr_anim["generic"]["deployable_cover_deploy_idle"][0] = %fusion_lift_deploy_cover_carter_idle;
}
//Function Number: 10
deployable_cover_model()
{
level.scr_animtree["deployable_cover"] = #animtree;
level.scr_model["deployable_cover"] = "deployable_cover";
level.scr_anim["deployable_cover"]["deployable_cover_deploy"] = %fusion_lift_deploy_cover_deployable_cover_prop_enter;
level.scr_anim["deployable_cover"]["deployable_cover_closed_idle"] = %fusion_lift_deploy_cover_idle_closed;
level.scr_anim["deployable_cover"]["deployable_cover_open_idle"] = %fusion_lift_deploy_cover_idle_opened;
}
//Function Number: 11
print3d_over_target()
{
self endon("death");
wait(1);
}