Files
IL-GSC/AW/PC/animscripts/hummer_turret/minigun_code.gsc
InfinityLoader b2389dbcb9 Full AW Dump
2024-04-22 02:38:24 -04:00

149 lines
3.2 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: hummer_turret\minigun_code.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 4
* Decompile Time: 52 ms
* Timestamp: 4/22/2024 1:58:52 AM
*******************************************************************/
//Function Number: 1
main(param_00)
{
param_00.fireinterval = 0.1;
param_00.closeenoughaimdegrees = 45;
param_00.firecontrollerfunc = ::firecontroller_minigun;
param_00.specialcleanupfunc = ::minigun_cleanup_func;
param_00.default_drop_pitch = 20;
animscripts\hummer_turret\common::humvee_turret_init(param_00,"minigun");
wait(0.05);
param_00 notify("turret_ready");
}
//Function Number: 2
minigun_cleanup_func(param_00,param_01)
{
if(param_01 getbarrelspinrate() > 0)
{
param_01 stopbarrelspin();
}
}
//Function Number: 3
firecontroller_minigun(param_00)
{
self endon("death");
self endon("dismount");
param_00 endon("kill_fireController");
param_00 endon("death");
param_00.extrafiretime_min = 600;
param_00.extrafiretime_max = 900;
var_01 = -1;
var_02 = undefined;
var_03 = undefined;
param_00.extraspintime_min = 250;
param_00.extraspintime_max = 2250;
var_04 = -1;
var_05 = undefined;
var_06 = 0;
var_07 = 0;
param_00.secsoffiringbeforereload = 15;
if(isdefined(param_00.secsoffiringbeforereloaddefault))
{
param_00.secsoffiringbeforereload = param_00.secsoffiringbeforereloaddefault;
}
param_00.firetime = 0;
animscripts\hummer_turret\common::doaim(param_00);
for(;;)
{
if(param_00.dofiring && !var_06 && !self.iscustomanimating)
{
var_06 = 1;
if(!var_07)
{
param_00 minigun_spinup();
var_07 = 1;
}
param_00 notify("startfiring");
var_01 = gettime();
animscripts\hummer_turret\common::doshoot(param_00);
wait(0.05);
}
else if(!param_00.dofiring && var_06)
{
if(!isdefined(var_02))
{
var_02 = gettime();
}
if(!isdefined(var_03))
{
var_03 = randomfloatrange(param_00.extrafiretime_min,param_00.extrafiretime_max);
}
if(gettime() - var_02 >= var_03)
{
var_06 = 0;
animscripts\hummer_turret\common::doaim(param_00);
var_04 = gettime();
var_02 = undefined;
var_03 = undefined;
}
}
else if(!param_00.dofiring && !var_06 && var_07)
{
if(!isdefined(var_05))
{
var_05 = randomfloatrange(param_00.extraspintime_min,param_00.extraspintime_max);
}
if(self.iscustomanimating || gettime() - var_04 >= var_05)
{
param_00 stopbarrelspin();
var_07 = 0;
var_05 = undefined;
}
}
if(param_00.turretstate == "fire")
{
param_00.firetime = param_00.firetime + 0.05;
}
if(param_00.firetime > param_00.secsoffiringbeforereload)
{
param_00.dofiring = 0;
var_06 = 0;
animscripts\hummer_turret\common::doaim(param_00);
var_04 = -1;
var_02 = undefined;
var_03 = undefined;
thread animscripts\hummer_turret\common::doreload(param_00);
param_00.firetime = 0;
}
wait(0.05);
if(!isdefined(param_00))
{
break;
}
}
}
//Function Number: 4
minigun_spinup()
{
if(self getbarrelspinrate() == 1)
{
return;
}
self startbarrelspin();
while(self getbarrelspinrate() < 1)
{
wait(0.05);
}
}