mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
268 lines
6.1 KiB
Plaintext
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);
|
|
} |