mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 10:27:55 -05:00
149 lines
3.2 KiB
Plaintext
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);
|
|
}
|
|
} |