mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-07-08 14:47:51 -05:00
Full AW Dump
This commit is contained in:
845
AW/PC/animscripts/squadmanager.gsc
Normal file
845
AW/PC/animscripts/squadmanager.gsc
Normal file
@ -0,0 +1,845 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: squadmanager.gsc
|
||||
* Game: Call of Duty: Advanced Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 32
|
||||
* Decompile Time: 456 ms
|
||||
* Timestamp: 4/22/2024 2:00:59 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_squadmanager()
|
||||
{
|
||||
if(isdefined(level.squadinitialized) && level.squadinitialized)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
anim.squadcreatefuncs = [];
|
||||
anim.squadcreatestrings = [];
|
||||
anim.squads = [];
|
||||
anim.squadindex = [];
|
||||
anim.squadrand = 0;
|
||||
anim.squadinitialized = 1;
|
||||
maps\_utility::set_console_status();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
createsquad(param_00,param_01)
|
||||
{
|
||||
level.squads[param_00] = spawnstruct();
|
||||
var_02 = level.squads[param_00];
|
||||
var_02.squadname = param_00;
|
||||
var_02.team = getsquadteam(param_01);
|
||||
var_02.sighttime = 0;
|
||||
var_02.origin = undefined;
|
||||
var_02.forward = undefined;
|
||||
var_02.enemy = undefined;
|
||||
var_02.isincombat = 0;
|
||||
var_02.membercount = 0;
|
||||
var_02.members = [];
|
||||
var_02.officers = [];
|
||||
var_02.officercount = 0;
|
||||
var_02.squadlist = [];
|
||||
var_02.memberaddfuncs = [];
|
||||
var_02.memberaddstrings = [];
|
||||
var_02.memberremovefuncs = [];
|
||||
var_02.memberremovestrings = [];
|
||||
var_02.squadupdatefuncs = [];
|
||||
var_02.squadupdatestrings = [];
|
||||
var_02.squadid = level.squadindex.size;
|
||||
var_02 initstate("combat",0.75);
|
||||
var_02 initstate("cover",0.75);
|
||||
var_02 initstate("move",0.75);
|
||||
var_02 initstate("stop",0.75);
|
||||
var_02 initstate("death",0.75);
|
||||
var_02 initstate("suppressed",0.75);
|
||||
var_02 initstate("attacking",0.5);
|
||||
level.squadindex[level.squadindex.size] = var_02;
|
||||
var_02 updatesquadlist();
|
||||
level notify("squad created " + param_00);
|
||||
anim notify("squad created " + param_00);
|
||||
for(var_03 = 0;var_03 < level.squadcreatefuncs.size;var_03++)
|
||||
{
|
||||
var_04 = level.squadcreatefuncs[var_03];
|
||||
var_02 thread [[ var_04 ]]();
|
||||
}
|
||||
|
||||
for(var_03 = 0;var_03 < level.squadindex.size;var_03++)
|
||||
{
|
||||
level.squadindex[var_03] updatesquadlist();
|
||||
}
|
||||
|
||||
var_02 thread updatewaiter();
|
||||
var_02 thread squadtracker();
|
||||
var_02 thread officerwaiter();
|
||||
var_02 thread updatememberstates();
|
||||
return var_02;
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
deletesquad(param_00)
|
||||
{
|
||||
if(param_00 == "axis" || param_00 == "team3" || param_00 == "allies")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_01 = level.squads[param_00].squadid;
|
||||
var_02 = level.squads[param_00];
|
||||
var_02 notify("squad_deleting");
|
||||
while(var_02.members.size)
|
||||
{
|
||||
var_02.members[0] addtosquad(var_02.members[0].team);
|
||||
}
|
||||
|
||||
level.squadindex[var_01] = level.squadindex[level.squadindex.size - 1];
|
||||
level.squadindex[var_01].squadid = var_01;
|
||||
level.squadindex[level.squadindex.size - 1] = undefined;
|
||||
level.squads[param_00] = undefined;
|
||||
level notify("squad deleted " + param_00);
|
||||
anim notify("squad deleted " + param_00);
|
||||
for(var_03 = 0;var_03 < level.squadindex.size;var_03++)
|
||||
{
|
||||
level.squadindex[var_03] updatesquadlist();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
generatesquadname()
|
||||
{
|
||||
var_00 = "auto" + level.squadrand;
|
||||
level.squadrand++;
|
||||
return var_00;
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
addplayertosquad(param_00)
|
||||
{
|
||||
if(!isdefined(param_00))
|
||||
{
|
||||
if(isdefined(self.script_squadname))
|
||||
{
|
||||
param_00 = self.script_squadname;
|
||||
}
|
||||
else
|
||||
{
|
||||
param_00 = self.team;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isdefined(level.squads[param_00]))
|
||||
{
|
||||
anim createsquad(param_00,self);
|
||||
}
|
||||
|
||||
var_01 = level.squads[param_00];
|
||||
self.squad = var_01;
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
squadchange()
|
||||
{
|
||||
self endon("death");
|
||||
wait(10);
|
||||
if(!isdefined(self.script_squadname))
|
||||
{
|
||||
var_00 = self.team + self.script_flanker;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_00 = self.script_squadname + self.script_flanker;
|
||||
}
|
||||
|
||||
addtosquad(var_00);
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
getsquadteam(param_00)
|
||||
{
|
||||
var_01 = "allies";
|
||||
if(param_00.team == "axis" || param_00.team == "neutral" || param_00.team == "team3")
|
||||
{
|
||||
var_01 = param_00.team;
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
addtosquad(param_00)
|
||||
{
|
||||
if(!isdefined(param_00))
|
||||
{
|
||||
if(isdefined(self.script_flanker))
|
||||
{
|
||||
thread squadchange();
|
||||
}
|
||||
|
||||
if(isdefined(self.script_squadname))
|
||||
{
|
||||
param_00 = self.script_squadname;
|
||||
}
|
||||
else
|
||||
{
|
||||
param_00 = self.team;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isdefined(level.squads[param_00]))
|
||||
{
|
||||
anim createsquad(param_00,self);
|
||||
}
|
||||
|
||||
var_01 = level.squads[param_00];
|
||||
if(isdefined(self.squad))
|
||||
{
|
||||
if(self.squad == var_01)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
removefromsquad();
|
||||
}
|
||||
}
|
||||
|
||||
self.lastenemysighttime = 0;
|
||||
self.combattime = 0;
|
||||
self.squad = var_01;
|
||||
self.memberid = var_01.members.size;
|
||||
var_01.members[self.memberid] = self;
|
||||
var_01.membercount = var_01.members.size;
|
||||
if(isdefined(level.loadoutcomplete))
|
||||
{
|
||||
if(self.team == "allies" && animscripts\battlechatter::isofficer())
|
||||
{
|
||||
addofficertosquad();
|
||||
}
|
||||
}
|
||||
|
||||
for(var_02 = 0;var_02 < self.squad.memberaddfuncs.size;var_02++)
|
||||
{
|
||||
var_03 = self.squad.memberaddfuncs[var_02];
|
||||
self thread [[ var_03 ]](self.squad.squadname);
|
||||
}
|
||||
|
||||
maps\_dds::dds_ai_init();
|
||||
thread membercombatwaiter();
|
||||
thread memberdeathwaiter();
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
removefromsquad()
|
||||
{
|
||||
var_00 = self.squad;
|
||||
var_01 = -1;
|
||||
if(isdefined(self))
|
||||
{
|
||||
var_01 = self.memberid;
|
||||
}
|
||||
else
|
||||
{
|
||||
for(var_02 = 0;var_02 < var_00.members.size;var_02++)
|
||||
{
|
||||
if(var_00.members[var_02] == self)
|
||||
{
|
||||
var_01 = var_02;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var_01 != var_00.members.size - 1)
|
||||
{
|
||||
var_03 = var_00.members[var_00.members.size - 1];
|
||||
var_00.members[var_01] = var_03;
|
||||
if(isdefined(var_03))
|
||||
{
|
||||
var_03.memberid = var_01;
|
||||
}
|
||||
}
|
||||
|
||||
var_00.members[var_00.members.size - 1] = undefined;
|
||||
var_00.membercount = var_00.members.size;
|
||||
if(isdefined(self.officerid))
|
||||
{
|
||||
removeofficerfromsquad();
|
||||
}
|
||||
|
||||
if(isdefined(self) && isdefined(self.team))
|
||||
{
|
||||
maps\_dds::dds_notify_casualty();
|
||||
}
|
||||
|
||||
for(var_02 = 0;var_02 < self.squad.memberremovefuncs.size;var_02++)
|
||||
{
|
||||
var_04 = self.squad.memberremovefuncs[var_02];
|
||||
self thread [[ var_04 ]](var_00.squadname);
|
||||
}
|
||||
|
||||
if(var_00.membercount == 0)
|
||||
{
|
||||
deletesquad(var_00.squadname);
|
||||
}
|
||||
|
||||
if(isdefined(self))
|
||||
{
|
||||
self.squad = undefined;
|
||||
self.memberid = undefined;
|
||||
}
|
||||
|
||||
self notify("removed from squad");
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
addofficertosquad()
|
||||
{
|
||||
var_00 = self.squad;
|
||||
if(isdefined(self.officerid))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
self.officerid = var_00.officers.size;
|
||||
var_00.officers[self.officerid] = self;
|
||||
var_00.officercount = var_00.officers.size;
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
removeofficerfromsquad()
|
||||
{
|
||||
var_00 = self.squad;
|
||||
var_01 = -1;
|
||||
if(isdefined(self))
|
||||
{
|
||||
var_01 = self.officerid;
|
||||
}
|
||||
else
|
||||
{
|
||||
for(var_02 = 0;var_02 < var_00.officers.size;var_02++)
|
||||
{
|
||||
if(var_00.officers[var_02] == self)
|
||||
{
|
||||
var_01 = var_02;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var_01 != var_00.officers.size - 1)
|
||||
{
|
||||
var_03 = var_00.officers[var_00.officers.size - 1];
|
||||
var_00.officers[var_01] = var_03;
|
||||
if(isdefined(var_03))
|
||||
{
|
||||
var_03.officerid = var_01;
|
||||
}
|
||||
}
|
||||
|
||||
var_00.officers[var_00.officers.size - 1] = undefined;
|
||||
var_00.officercount = var_00.officers.size;
|
||||
if(isdefined(self))
|
||||
{
|
||||
self.officerid = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
officerwaiter()
|
||||
{
|
||||
if(!isdefined(level.loadoutcomplete))
|
||||
{
|
||||
anim waittill("loadout complete");
|
||||
}
|
||||
|
||||
for(var_00 = 0;var_00 < self.members.size;var_00++)
|
||||
{
|
||||
if(self.members[var_00] animscripts\battlechatter::isofficer())
|
||||
{
|
||||
self.members[var_00] addofficertosquad();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
updatewaiter()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
anim waittill("squadupdate",var_00);
|
||||
switch(var_00)
|
||||
{
|
||||
case "squadlist":
|
||||
updatesquadlist();
|
||||
break;
|
||||
|
||||
case "combat":
|
||||
updatecombat();
|
||||
break;
|
||||
|
||||
case "origin":
|
||||
updateorigin();
|
||||
break;
|
||||
|
||||
case "forward":
|
||||
updateheading();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
squadtracker()
|
||||
{
|
||||
anim endon("squad deleted " + self.squadname);
|
||||
var_00 = 0.1;
|
||||
if(level.currentgen)
|
||||
{
|
||||
var_00 = 0.5;
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
updateall();
|
||||
wait(var_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
memberdeathwaiter()
|
||||
{
|
||||
self endon("removed from squad");
|
||||
self waittill("death",var_00);
|
||||
if(isdefined(self))
|
||||
{
|
||||
self.attacker = var_00;
|
||||
}
|
||||
|
||||
removefromsquad();
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
membercombatwaiter()
|
||||
{
|
||||
self endon("removed from squad");
|
||||
for(;;)
|
||||
{
|
||||
self waittill("enemy");
|
||||
if(!isdefined(self.enemy))
|
||||
{
|
||||
self.squad notify("squadupdate","combat");
|
||||
}
|
||||
else
|
||||
{
|
||||
self.squad.isincombat = 1;
|
||||
}
|
||||
|
||||
wait(0.05);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
updateheading()
|
||||
{
|
||||
if(isdefined(self.enemy))
|
||||
{
|
||||
self.forward = vectornormalize(self.enemy.origin - self.origin);
|
||||
return;
|
||||
}
|
||||
|
||||
var_00 = (0,0,0);
|
||||
var_01 = 0;
|
||||
for(var_02 = 0;var_02 < self.members.size;var_02++)
|
||||
{
|
||||
if(!isalive(self.members[var_02]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_00 = var_00 + anglestoforward(self.members[var_02].angles);
|
||||
var_01++;
|
||||
}
|
||||
|
||||
if(var_01)
|
||||
{
|
||||
self.forward = (var_00[0] / var_01,var_00[1] / var_01,var_00[2] / var_01);
|
||||
return;
|
||||
}
|
||||
|
||||
self.forward = var_00;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
updateorigin()
|
||||
{
|
||||
var_00 = (0,0,0);
|
||||
var_01 = 0;
|
||||
for(var_02 = 0;var_02 < self.members.size;var_02++)
|
||||
{
|
||||
if(!isalive(self.members[var_02]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_00 = var_00 + self.members[var_02].origin;
|
||||
var_01++;
|
||||
}
|
||||
|
||||
if(var_01)
|
||||
{
|
||||
self.origin = (var_00[0] / var_01,var_00[1] / var_01,var_00[2] / var_01);
|
||||
return;
|
||||
}
|
||||
|
||||
self.origin = var_00;
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
updatecombat()
|
||||
{
|
||||
self.isincombat = 0;
|
||||
for(var_00 = 0;var_00 < level.squadindex.size;var_00++)
|
||||
{
|
||||
self.squadlist[level.squadindex[var_00].squadname].isincontact = 0;
|
||||
}
|
||||
|
||||
for(var_00 = 0;var_00 < self.members.size;var_00++)
|
||||
{
|
||||
if(isdefined(self.members[var_00].enemy) && isdefined(self.members[var_00].enemy.squad) && self.members[var_00].combattime > 0)
|
||||
{
|
||||
self.squadlist[self.members[var_00].enemy.squad.squadname].isincontact = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
updateenemy()
|
||||
{
|
||||
var_00 = undefined;
|
||||
for(var_01 = 0;var_01 < self.members.size;var_01++)
|
||||
{
|
||||
if(isdefined(self.members[var_01].enemy) && isdefined(self.members[var_01].enemy.squad))
|
||||
{
|
||||
if(!isdefined(var_00))
|
||||
{
|
||||
var_00 = self.members[var_01].enemy.squad;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(self.members[var_01].enemy.squad.membercount > var_00.membercount)
|
||||
{
|
||||
var_00 = self.members[var_01].enemy.squad;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self.enemy = var_00;
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
updateall()
|
||||
{
|
||||
var_00 = (0,0,0);
|
||||
var_01 = 0;
|
||||
var_02 = undefined;
|
||||
var_03 = 0;
|
||||
updatecombat();
|
||||
for(var_04 = 0;var_04 < self.members.size;var_04++)
|
||||
{
|
||||
if(!isalive(self.members[var_04]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_00 = var_00 + self.members[var_04].origin;
|
||||
var_01++;
|
||||
if(isdefined(self.members[var_04].enemy) && isdefined(self.members[var_04].enemy.squad))
|
||||
{
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
var_02 = self.members[var_04].enemy.squad;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(self.members[var_04].enemy.squad.membercount > var_02.membercount)
|
||||
{
|
||||
var_02 = self.members[var_04].enemy.squad;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var_01)
|
||||
{
|
||||
self.origin = (var_00[0] / var_01,var_00[1] / var_01,var_00[2] / var_01);
|
||||
}
|
||||
else
|
||||
{
|
||||
self.origin = var_00;
|
||||
}
|
||||
|
||||
self.isincombat = var_03;
|
||||
self.enemy = var_02;
|
||||
updateheading();
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
updatesquadlist()
|
||||
{
|
||||
for(var_00 = 0;var_00 < level.squadindex.size;var_00++)
|
||||
{
|
||||
if(!isdefined(self.squadlist[level.squadindex[var_00].squadname]))
|
||||
{
|
||||
self.squadlist[level.squadindex[var_00].squadname] = spawnstruct();
|
||||
self.squadlist[level.squadindex[var_00].squadname].isincontact = 0;
|
||||
}
|
||||
|
||||
for(var_01 = 0;var_01 < self.squadupdatefuncs.size;var_01++)
|
||||
{
|
||||
var_02 = self.squadupdatefuncs[var_01];
|
||||
self thread [[ var_02 ]](level.squadindex[var_00].squadname);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
printabovehead(param_00,param_01,param_02,param_03)
|
||||
{
|
||||
self endon("death");
|
||||
if(!isdefined(param_02))
|
||||
{
|
||||
param_02 = (0,0,0);
|
||||
}
|
||||
|
||||
if(!isdefined(param_03))
|
||||
{
|
||||
param_03 = (1,0,0);
|
||||
}
|
||||
|
||||
for(var_04 = 0;var_04 < param_01 * 2;var_04++)
|
||||
{
|
||||
if(!isalive(self))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_05 = self getshootatpos() + (0,0,10) + param_02;
|
||||
wait(0.05);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
aiupdateanimstate(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case "combat":
|
||||
case "death":
|
||||
case "move":
|
||||
case "stop":
|
||||
self.a.state = param_00;
|
||||
break;
|
||||
|
||||
case "grenadecower":
|
||||
case "pain":
|
||||
break;
|
||||
|
||||
case "stalingrad_cover_crouch":
|
||||
case "cover_wide_right":
|
||||
case "cover_wide_left":
|
||||
case "concealment_stand":
|
||||
case "concealment_prone":
|
||||
case "concealment_crouch":
|
||||
case "cover_prone":
|
||||
case "cover_swim_right":
|
||||
case "cover_swim_left":
|
||||
case "cover_swim_up":
|
||||
case "cover_left":
|
||||
case "cover_multi":
|
||||
case "cover_right":
|
||||
case "cover_stand":
|
||||
case "cover_crouch":
|
||||
self.a.state = "cover";
|
||||
break;
|
||||
|
||||
case "l33t truckride combat":
|
||||
case "aim":
|
||||
self.a.state = "combat";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
updatestates()
|
||||
{
|
||||
resetstate("combat");
|
||||
resetstate("cover");
|
||||
resetstate("move");
|
||||
resetstate("stop");
|
||||
resetstate("death");
|
||||
resetstate("suppressed");
|
||||
resetstate("attacking");
|
||||
for(var_00 = 0;var_00 < self.members.size;var_00++)
|
||||
{
|
||||
if(!isalive(self.members[var_00]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
querymemberanimstate(self.members[var_00]);
|
||||
querymemberstate(self.members[var_00],"suppressed");
|
||||
querymemberstate(self.members[var_00],"combat");
|
||||
querymemberstate(self.members[var_00],"attacking");
|
||||
querymemberstate(self.members[var_00],"cover");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
updatememberstates()
|
||||
{
|
||||
anim endon("squad deleted " + self.squadname);
|
||||
var_00 = 0.05;
|
||||
if(level.currentgen)
|
||||
{
|
||||
var_00 = 0.25;
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
for(var_01 = 0;var_01 < self.members.size;var_01++)
|
||||
{
|
||||
if(!isalive(self.members[var_01]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
self.members[var_01] aiupdatecombat(var_00);
|
||||
self.members[var_01] aiupdatesuppressed(var_00);
|
||||
}
|
||||
|
||||
wait(var_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
aiupdatecombat(param_00)
|
||||
{
|
||||
if(isdefined(self.lastenemysightpos))
|
||||
{
|
||||
if(self.combattime < 0)
|
||||
{
|
||||
self.combattime = param_00;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.combattime = self.combattime + param_00;
|
||||
}
|
||||
|
||||
self.lastenemysighttime = gettime();
|
||||
return;
|
||||
}
|
||||
else if(self issuppressed())
|
||||
{
|
||||
self.combattime = self.combattime + param_00;
|
||||
return;
|
||||
}
|
||||
|
||||
if(self.combattime > 0)
|
||||
{
|
||||
self.combattime = 0 - param_00;
|
||||
return;
|
||||
}
|
||||
|
||||
self.combattime = self.combattime - param_00;
|
||||
}
|
||||
|
||||
//Function Number: 28
|
||||
aiupdatesuppressed(param_00)
|
||||
{
|
||||
if(self.suppressed)
|
||||
{
|
||||
if(self.suppressedtime < 0)
|
||||
{
|
||||
self.suppressedtime = param_00;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.suppressedtime = self.suppressedtime + param_00;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if(self.suppressedtime > 0)
|
||||
{
|
||||
self.suppressedtime = 0 - param_00;
|
||||
return;
|
||||
}
|
||||
|
||||
self.suppressedtime = self.suppressedtime - param_00;
|
||||
}
|
||||
|
||||
//Function Number: 29
|
||||
initstate(param_00,param_01)
|
||||
{
|
||||
self.squadstates[param_00] = spawnstruct();
|
||||
self.squadstates[param_00].activateratio = param_01;
|
||||
self.squadstates[param_00].isactive = 0;
|
||||
self.squadstates[param_00].numactive = 0;
|
||||
}
|
||||
|
||||
//Function Number: 30
|
||||
resetstate(param_00)
|
||||
{
|
||||
self.squadstates[param_00].isactive = 0;
|
||||
self.squadstates[param_00].numactive = 0;
|
||||
}
|
||||
|
||||
//Function Number: 31
|
||||
querymemberanimstate(param_00)
|
||||
{
|
||||
self.squadstates[param_00.a.state].numactive++;
|
||||
if(self.squadstates[param_00.a.state].numactive > self.squadstates[param_00.a.state].activateratio * self.members.size)
|
||||
{
|
||||
self.squadstates[param_00.a.state].isactive = 1;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 32
|
||||
querymemberstate(param_00,param_01)
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "suppressed":
|
||||
if(param_00.suppressedtime > 1)
|
||||
{
|
||||
self.squadstates[param_01].numactive++;
|
||||
}
|
||||
break;
|
||||
|
||||
case "combat":
|
||||
if(param_00.combattime > 0)
|
||||
{
|
||||
self.squadstates[param_01].numactive++;
|
||||
}
|
||||
break;
|
||||
|
||||
case "attacking":
|
||||
if(gettime() < param_00.a.lastshoottime + 2000)
|
||||
{
|
||||
self.squadstates[param_01].numactive++;
|
||||
}
|
||||
break;
|
||||
|
||||
case "cover":
|
||||
if(!param_00 animscripts\battlechatter::isexposed())
|
||||
{
|
||||
self.squadstates[param_01].numactive++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(self.squadstates[param_01].numactive > self.squadstates[param_01].activateratio * self.members.size)
|
||||
{
|
||||
self.squadstates[param_01].isactive = 1;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user