mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
1763 lines
49 KiB
Plaintext
1763 lines
49 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: _mech.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 70
|
|
* Decompile Time: 1037 ms
|
|
* Timestamp: 4/22/2024 2:21:52 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
if(isdefined(level.mech_initialized))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.mech_initialized = 1;
|
|
level._mech_globals = spawnstruct();
|
|
level._mech_globals.num_missile_attractors = 0;
|
|
level._mech_globals.num_missile_repulsors = 0;
|
|
if(!isdefined(level.subclass_spawn_functions))
|
|
{
|
|
level.subclass_spawn_functions = [];
|
|
}
|
|
|
|
level.subclass_spawn_functions["mech"] = ::subclass_mech;
|
|
if(!getdvarint("r_reflectionProbeGenerate"))
|
|
{
|
|
maps\_mech_aud::main();
|
|
}
|
|
|
|
precacheitem("mech_rocket");
|
|
precacheitem("mech_rocket_deploy");
|
|
precachemodel("npc_exo_armor_minigun_whole");
|
|
precachemodel("npc_exo_armor_minigun_barrel");
|
|
precachemodel("npc_exo_armor_minigun_handle");
|
|
level.mech_fx["rocket_muzzle_flash"] = loadfx("vfx/muzzleflash/exo_armor_rocket_flash_wv");
|
|
level.mech_fx["rocket_seperation"] = loadfx("vfx/muzzleflash/exo_armor_rocket_burst");
|
|
level.mech_fx["bullet_hit_sparks"] = loadfx("vfx/weaponimpact/metal_spark_fountain_small");
|
|
level.mech_fx["bullet_hit_sparks_large"] = loadfx("vfx/weaponimpact/metal_spark_fountain_large");
|
|
level.mech_fx["rocket_trail_0"] = loadfx("vfx/trail/exo_armor_rocket_trail_a");
|
|
level.mech_fx["rocket_trail_1"] = loadfx("vfx/trail/exo_armor_rocket_trail_b");
|
|
level.mech_fx["rocket_trail_2"] = loadfx("vfx/trail/exo_armor_rocket_trail_c");
|
|
}
|
|
|
|
//Function Number: 2
|
|
subclass_mech()
|
|
{
|
|
init_mech_animsets();
|
|
self.mech = 1;
|
|
self.rocketpodup = 0;
|
|
self.emp = 0;
|
|
self.targetattacker = 0;
|
|
self.mechpainbuildup = 1;
|
|
self.paindamagestart = 200;
|
|
self.paindamagemin = 100;
|
|
self.paindamageincrement = 4;
|
|
self.paindamageincrementback = 1;
|
|
self.paindamagetime = 0.2;
|
|
self.animarchetype = "mech";
|
|
self.script_animation = "mech";
|
|
if(animscripts\utility::aihasweapon("exo_minigun"))
|
|
{
|
|
self attach("npc_exo_armor_minigun_barrel","TAG_BARREL");
|
|
self attach("npc_exo_armor_minigun_handle","TAG_HANDLE");
|
|
self setanim(%s1_mechgun,1,1,1);
|
|
}
|
|
|
|
if(animscripts\utility::aihasweapon("exo_minigun_scaled"))
|
|
{
|
|
self attach("npc_exo_armor_minigun_barrel","TAG_BARREL");
|
|
self attach("npc_exo_armor_minigun_handle","TAG_HANDLE");
|
|
self setanim(%s1_mechgun,1,1,1);
|
|
}
|
|
|
|
level.scr_anim["generic"]["patrol_idle_mech"] = %mech_unaware_idle;
|
|
level.scr_anim["generic"]["patrol_walk_mech"] = %mech_unaware_walk;
|
|
level.scr_anim["generic"]["patrol_stop_mech"] = %mech_unaware_walk_stop;
|
|
level.scr_anim["generic"]["patrol_start_mech"] = %mech_unaware_walk_start;
|
|
level.scr_anim["generic"]["patrol_walk_weights"] = %mech_unaware_walk;
|
|
self allowedstances("stand");
|
|
self.maxhealth = self.health;
|
|
self.minpaindamage = 100;
|
|
self.walkdist = 500;
|
|
self.walkdistfacingmotion = self.walkdist;
|
|
self.grenadeammo = 0;
|
|
self.doorflashchance = 0.05;
|
|
self.aggressivemode = 1;
|
|
self.ignoresuppression = 1;
|
|
self.no_pistol_switch = 1;
|
|
self.norunngun = 1;
|
|
self.disablebulletwhizbyreaction = 1;
|
|
self.combatmode = "no_cover";
|
|
self.neversprintforvariation = 1;
|
|
self.noturnanims = undefined;
|
|
self.canclimbladders = 0;
|
|
self.flashbangimmunity = 1;
|
|
self.var_849D = 0;
|
|
self.noruntwitch = 1;
|
|
self.usemuzzleforaim = 1;
|
|
self.bdisabledefaultfacialanims = 1;
|
|
self.aimfaryawtolerance = 20;
|
|
self.disablereactionanims = 1;
|
|
self.dontmelee = 1;
|
|
self.meleechargedistsq = 9216;
|
|
self actorusemodelcollisionbounds();
|
|
self.standingturnrate = 0.2;
|
|
self.walkingturnrate = 0.07;
|
|
self.runingturnrate = 0.5;
|
|
self.standingaimblendtime = 0.2;
|
|
self.walkingaimblendtime = 0.6;
|
|
self.runningaimblendtime = 0.4;
|
|
self.aimsetupblendtime = 2;
|
|
self.standingmechblendtime = 1.5;
|
|
self.walkingmechblendtime = 1.5;
|
|
self.runningmechblendtime = 0.2;
|
|
self.standingaimlimits = [-25,35,45,-45];
|
|
self.walkingaimlimits = [-25,35,45,-45];
|
|
self.runningaimlimits = [-25,35,45,-45];
|
|
if(!isdefined(self.attractornumber))
|
|
{
|
|
self.attractornumber = 6;
|
|
}
|
|
|
|
if(!isdefined(self.repulsornumber))
|
|
{
|
|
self.repulsornumber = 3;
|
|
}
|
|
|
|
self.largesparkdistance = 600;
|
|
self setstompbreakthrough(0);
|
|
self.scriptedarrivalententity = common_scripts\utility::spawn_tag_origin();
|
|
self.scriptedarrivalententity.type = "scripted_arrival_ent";
|
|
self.scriptedarrivalententity.arrivalstance = "stand";
|
|
thread common_scripts\utility::delete_on_death(self.scriptedarrivalententity);
|
|
maps\_utility::disable_surprise();
|
|
maps\_utility::disable_danger_react();
|
|
self.grenadeawareness = 0;
|
|
self.norunreload = 1;
|
|
maps\_utility::add_damage_function(::animscripts\pain::additive_pain);
|
|
maps\_utility::add_damage_function(::maps\_spawner::pain_resistance);
|
|
maps\_utility::add_damage_function(::mech_hit_vfx);
|
|
maps\_utility::add_damage_function(::mech_pain_adder);
|
|
maps\_utility::add_damage_function(::mech_incoming_damage_modifiers);
|
|
thread maps\_shg_utility::make_emp_vulnerable();
|
|
self.emp_death_function = ::mech_emp_function;
|
|
thread mech_wait_for_drop();
|
|
thread mech_minigun_loop();
|
|
thread mech_melee_behavior();
|
|
thread mech_turn_loop();
|
|
thread mech_pain_loop();
|
|
if(isdefined(level.mech_grapple_setup_function))
|
|
{
|
|
[[ level.mech_grapple_setup_function ]](self);
|
|
}
|
|
|
|
if(!self isbadguy())
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.bullet_resistance = 40;
|
|
maps\_utility::add_damage_function(::maps\_spawner::bullet_resistance);
|
|
maps\_utility::add_damage_function(::mech_target_attacker);
|
|
self.pathenemyfightdist = 64;
|
|
self.pathenemylookahead = 128;
|
|
level notify("mech_spawned");
|
|
self waittill("death",var_00,var_01,var_02);
|
|
mech_death_function();
|
|
if(isdefined(self) && isdefined(self.nodrop))
|
|
{
|
|
var_03 = [];
|
|
var_03[var_03.size] = "left";
|
|
var_03[var_03.size] = "right";
|
|
var_03[var_03.size] = "chest";
|
|
var_03[var_03.size] = "back";
|
|
animscripts\shared::detachallweaponmodels();
|
|
foreach(var_05 in var_03)
|
|
{
|
|
var_02 = self.a.weaponpos[var_05];
|
|
if(var_02 == "none")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
self.weaponinfo[var_02].position = "none";
|
|
self.a.weaponpos[var_05] = "none";
|
|
}
|
|
|
|
self.weapon = "none";
|
|
animscripts\shared::updateattachedweaponmodels();
|
|
}
|
|
|
|
level notify("mech_died");
|
|
if(!isdefined(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(var_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isplayer(var_00))
|
|
{
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
mech_set_goal_node(param_00)
|
|
{
|
|
self setgoalnode(param_00);
|
|
self.scriptedarrivalententity.origin = param_00.origin;
|
|
self.scriptedarrivalententity.angles = param_00.angles;
|
|
self.scriptedarrivalent = self.scriptedarrivalententity;
|
|
}
|
|
|
|
//Function Number: 4
|
|
process_melee_notetracks()
|
|
{
|
|
self endon("death");
|
|
self endon("melee_complete");
|
|
for(;;)
|
|
{
|
|
self waittill("meleeAnim",var_00);
|
|
if(!isdefined(var_00))
|
|
{
|
|
var_00 = "undefined";
|
|
}
|
|
|
|
if(var_00 == "fire")
|
|
{
|
|
if(isdefined(self.enemy))
|
|
{
|
|
var_01 = self melee();
|
|
if(isai(var_01))
|
|
{
|
|
var_01 dodamage(999999999,self.origin,self,self,"MOD_MELEE");
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_00 == "end" || var_00 == "stop")
|
|
{
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
animscripts\notetracks::handlenotetrack(var_00,"meleeAnim");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
mech_do_melee()
|
|
{
|
|
self animmode("zonly_physics");
|
|
var_00 = vectortoyaw(self.enemy.origin - self.origin);
|
|
var_01 = angleclamp180(self.angles[1] - var_00);
|
|
if(var_01 < -90)
|
|
{
|
|
var_02 = self.origin + self.origin - self.enemy.origin;
|
|
self orientmode("face point",var_02);
|
|
var_03 = %mech_stand_melee_left;
|
|
}
|
|
else if(var_03 > 90)
|
|
{
|
|
var_02 = self.origin + self.origin - self.enemy.origin;
|
|
self orientmode("face point",var_02);
|
|
var_03 = %mech_stand_melee_right;
|
|
}
|
|
else
|
|
{
|
|
self orientmode("face point",self.enemy.origin);
|
|
var_03 = %mech_stand_melee_front;
|
|
}
|
|
|
|
self setflaggedanimknoballrestart("meleeAnim",var_03,%body,1,0.5,1);
|
|
var_04 = getanimlength(var_03);
|
|
thread process_melee_notetracks();
|
|
thread kill_clipping_enemy();
|
|
wait(var_04);
|
|
self notify("stop_kill_clipping_enemy");
|
|
}
|
|
|
|
//Function Number: 6
|
|
kill_clipping_enemy()
|
|
{
|
|
self endon("stop_kill_clipping_enemy");
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
if(isdefined(self.enemy) && distance(self.origin,self.enemy.origin) < 32 && !isplayer(self.enemy))
|
|
{
|
|
self.enemy dodamage(999999999,self.origin,self,self,"MOD_MELEE");
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
mech_melee_endscript()
|
|
{
|
|
self animmode("none");
|
|
self clearanim(%body,0.2);
|
|
self.a.movement = "stop";
|
|
self orientmode("face default");
|
|
var_00 = self getdroptofloorposition();
|
|
if(isdefined(var_00))
|
|
{
|
|
self forceteleport(var_00,self.angles);
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
self notify("melee_complete");
|
|
}
|
|
|
|
//Function Number: 8
|
|
mech_death_function()
|
|
{
|
|
if(isdefined(self) && isdefined(self.mech) && self.mech)
|
|
{
|
|
self hidepart("TAG_BARREL","npc_exo_armor_minigun_barrel");
|
|
self hidepart("TAG_HANDLE","npc_exo_armor_minigun_handle");
|
|
self detach("npc_exo_armor_minigun_barrel","TAG_BARREL");
|
|
self detach("npc_exo_armor_minigun_handle","TAG_HANDLE");
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
mech_minigun_loop()
|
|
{
|
|
self endon("death");
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
if(animscripts\utility::isincombat() && !var_00)
|
|
{
|
|
var_00 = 1;
|
|
}
|
|
|
|
if(!animscripts\utility::isincombat() && var_00)
|
|
{
|
|
var_00 = 0;
|
|
}
|
|
|
|
wait(0.25);
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
mech_pain_loop()
|
|
{
|
|
self endon("death");
|
|
if(!isdefined(self.mechpainbuildup) || isdefined(self.mechpainbuildup) && !self.mechpainbuildup)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.paindamagestart))
|
|
{
|
|
self.minpaindamage = self.paindamagestart;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
if(self.minpaindamage < self.paindamagestart)
|
|
{
|
|
self.minpaindamage = self.minpaindamage + self.paindamageincrementback;
|
|
}
|
|
|
|
if(isdefined(self.mechpainbuildup) && !self.mechpainbuildup)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(isdefined(self.paindamagetime) && self.paindamagetime > 0)
|
|
{
|
|
wait(self.paindamagetime);
|
|
continue;
|
|
}
|
|
|
|
wait(0.2);
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
mech_pain_adder(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
if(isdefined(self.mechpainbuildup) && self.mechpainbuildup && param_04 == "MOD_RIFLE_BULLET" || param_04 == "MOD_PISTOL_BULLET" && param_01 == level.player)
|
|
{
|
|
if(self.minpaindamage > self.paindamagemin)
|
|
{
|
|
self.minpaindamage = self.minpaindamage - self.paindamageincrement;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
mech_incoming_damage_modifiers(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
var_07 = 0;
|
|
if(isdefined(self.bullet_resistance))
|
|
{
|
|
var_07 = self.bullet_resistance;
|
|
}
|
|
|
|
if(isdefined(self.reduced_nonplayer_damage) && self.reduced_nonplayer_damage > 0 && param_01 != level.player)
|
|
{
|
|
if(self.health > 0 && param_00 > var_07)
|
|
{
|
|
self.health = self.health + int(param_00 - var_07 * self.reduced_nonplayer_damage);
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(self.damagelocation == "head")
|
|
{
|
|
if(self.health > 0)
|
|
{
|
|
self.health = self.health + int(param_00 - var_07 * 0.25);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
is_doing_scripted_anim()
|
|
{
|
|
return isdefined(self.script) && self.script == "scripted";
|
|
}
|
|
|
|
//Function Number: 14
|
|
mech_turn_loop()
|
|
{
|
|
self endon("stop_mech_turn_loop");
|
|
var_00 = (1,0,0);
|
|
var_01 = self.movemode;
|
|
var_02 = animscripts\utility::isincombat();
|
|
for(;;)
|
|
{
|
|
if(!isremovedentity(self) && isdefined(self))
|
|
{
|
|
if((isdefined(self.script) && self.script == "death") || !isalive(self))
|
|
{
|
|
self setanim(%idle_combat,0,1,1,1);
|
|
self setanimlimited(%mech_combat_idle,0,0.2,1);
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(is_doing_scripted_anim())
|
|
{
|
|
}
|
|
else if(self.movemode == "stop" || self.movemode == "stop soon" && isdefined(self.standingturnrate))
|
|
{
|
|
self.turnrate = self.standingturnrate;
|
|
self.aimblendtime = self.standingaimblendtime;
|
|
self.strafeblendtimes = self.standingmechblendtime;
|
|
self.leftaimlimit = self.standingaimlimits[0];
|
|
self.rightaimlimit = self.standingaimlimits[1];
|
|
self.upaimlimit = self.standingaimlimits[2];
|
|
self.downaimlimit = self.standingaimlimits[3];
|
|
}
|
|
else if(self.movemode == "walk" && isdefined(self.walkingturnrate))
|
|
{
|
|
self.turnrate = self.walkingturnrate;
|
|
self.aimblendtime = self.walkingaimblendtime;
|
|
self.strafeblendtimes = self.walkingmechblendtime;
|
|
self.leftaimlimit = self.walkingaimlimits[0];
|
|
self.rightaimlimit = self.walkingaimlimits[1];
|
|
self.upaimlimit = self.walkingaimlimits[2];
|
|
self.downaimlimit = self.walkingaimlimits[3];
|
|
}
|
|
else if(self.movemode == "run" && isdefined(self.runingturnrate))
|
|
{
|
|
self.turnrate = self.runingturnrate;
|
|
self.aimblendtime = self.runningaimblendtime;
|
|
self.strafeblendtimes = self.runningmechblendtime;
|
|
self.leftaimlimit = self.runningaimlimits[0];
|
|
self.rightaimlimit = self.runningaimlimits[1];
|
|
self.upaimlimit = self.runningaimlimits[2];
|
|
self.downaimlimit = self.runningaimlimits[3];
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
if(var_02 != animscripts\utility::isincombat() || self.movemode != var_01)
|
|
{
|
|
if(self.movemode == "stop" && animscripts\utility::isincombat() && self.script != "scripted")
|
|
{
|
|
self setanim(%idle_combat,1,1,1,1);
|
|
self setanimlimited(%mech_combat_idle,0.5,0.2,1);
|
|
}
|
|
else
|
|
{
|
|
self setanim(%idle_combat,0,1,1,1);
|
|
self setanimlimited(%mech_combat_idle,0,0.2,1);
|
|
}
|
|
|
|
var_02 = animscripts\utility::isincombat();
|
|
var_01 = self.movemode;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
mech_wait_for_drop()
|
|
{
|
|
self endon("wait_drop_end");
|
|
self waittill("weapon_dropped",var_00);
|
|
if(isdefined(var_00) && var_00.classname == "weapon_exo_minigun")
|
|
{
|
|
var_00 setmodel("npc_exo_armor_minigun_whole");
|
|
var_00 makeunusable();
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
mech_hit_vfx(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
if(param_04 == "MOD_RIFLE_BULLET" || param_04 == "MOD_PISTOL_BULLET")
|
|
{
|
|
if(isplayer(param_01) && isdefined(self.largesparkdistance) && common_scripts\utility::distance_2d_squared(self.origin,param_01.origin) > self.largesparkdistance * self.largesparkdistance)
|
|
{
|
|
playfx(level.mech_fx["bullet_hit_sparks_large"],param_03,param_02 * -1,(0,0,1));
|
|
return;
|
|
}
|
|
|
|
playfx(level.mech_fx["bullet_hit_sparks"],param_03,param_02 * -1,(0,0,1));
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
mech_bullet_ricochet(param_00,param_01)
|
|
{
|
|
var_02 = anglestoforward(self.angles);
|
|
param_01 = vectornormalize(param_01);
|
|
var_03 = -2 * vectordot(param_01,var_02) * var_02 + param_01;
|
|
playfx(level.mech_fx["bullet_ricochet"],param_00,var_03,(0,0,1));
|
|
}
|
|
|
|
//Function Number: 18
|
|
mech_vfx_loop()
|
|
{
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
if(self.health < self.maxhealth / 2)
|
|
{
|
|
if(self gettagindex("tag_vfx_chest_light") != -1)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
wait(0.5);
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
if(self.health < self.maxhealth / 4)
|
|
{
|
|
if(self gettagindex("tag_vfx_chest_light") != -1)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
wait(0.5);
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
mech_is_shooting_rockets()
|
|
{
|
|
if(isdefined(self.isshootingrockets) && self.isshootingrockets)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 20
|
|
mech_start_target_attacker()
|
|
{
|
|
self.targetattacker = 1;
|
|
}
|
|
|
|
//Function Number: 21
|
|
mech_stop_target_attacker()
|
|
{
|
|
self.targetattacker = 0;
|
|
}
|
|
|
|
//Function Number: 22
|
|
mech_start_rockets(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
thread mech_rocket_launcher_behavior(param_00,param_01,param_02,param_03,param_04,param_05,param_06);
|
|
}
|
|
|
|
//Function Number: 23
|
|
mech_stop_rockets()
|
|
{
|
|
self notify("stop_stop_rocket_launcher");
|
|
}
|
|
|
|
//Function Number: 24
|
|
mech_start_hunting()
|
|
{
|
|
thread mech_hunt_immediately_behavior();
|
|
}
|
|
|
|
//Function Number: 25
|
|
mech_stop_hunting()
|
|
{
|
|
self notify("stop_hunting");
|
|
}
|
|
|
|
//Function Number: 26
|
|
mech_badplace_behavior()
|
|
{
|
|
self endon("death");
|
|
self endon("stop_badplace_behavior");
|
|
var_00 = 1;
|
|
var_01 = 240;
|
|
var_02 = 120;
|
|
var_03 = "mech_bad_place" + self getentitynumber();
|
|
for(;;)
|
|
{
|
|
badplace_cylinder(var_03,var_00 - 0.05,self.origin,var_01,var_02,"allies");
|
|
wait(var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
mech_start_badplace_behavior()
|
|
{
|
|
thread mech_badplace_behavior();
|
|
}
|
|
|
|
//Function Number: 28
|
|
mech_stop_badplace_behavior()
|
|
{
|
|
self notify("stop_badplace_behavior");
|
|
}
|
|
|
|
//Function Number: 29
|
|
mech_start_generic_attacking()
|
|
{
|
|
thread mech_generic_attacking_behavior();
|
|
}
|
|
|
|
//Function Number: 30
|
|
mech_stop_generic_attacking()
|
|
{
|
|
self notify("stop_generic_attacking");
|
|
}
|
|
|
|
//Function Number: 31
|
|
mech_start_reduced_nonplayer_damage(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = 0.9;
|
|
}
|
|
|
|
self.reduced_nonplayer_damage = param_00;
|
|
}
|
|
|
|
//Function Number: 32
|
|
mech_stop_reduced_nonplayer_damage()
|
|
{
|
|
self.reduced_nonplayer_damage = undefined;
|
|
}
|
|
|
|
//Function Number: 33
|
|
mech_melee_is_valid()
|
|
{
|
|
if(!isdefined(self.enemy))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(distancesquared(self.origin,self.enemy.origin) > self.meleechargedistsq)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isalive(self))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.emp) && self.emp)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isalive(self.enemy))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.enemy.dontattackme) || isdefined(self.enemy.ignoreme) && self.enemy.ignoreme)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isai(self.enemy))
|
|
{
|
|
if(self.enemy isinscriptedstate())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.enemy maps\_utility::doinglongdeath() || self.enemy.delayeddeath)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(!mech_melee_trace_passed(self.enemy))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 34
|
|
mech_melee_trace_passed(param_00)
|
|
{
|
|
var_01 = param_00.origin - self.origin;
|
|
var_02 = vectortoangles(var_01);
|
|
var_03 = anglestoforward(var_02);
|
|
var_04 = anglestoright(var_02);
|
|
var_05 = anglestoup(var_02);
|
|
foreach(var_07 in [10,80])
|
|
{
|
|
foreach(var_09 in [-20,0,20])
|
|
{
|
|
var_0A = self.origin - 10 * var_03 + var_09 * var_04 + var_07 * var_05;
|
|
var_0B = param_00.origin - 10 * var_03 + var_09 * var_04 + var_07 * var_05;
|
|
var_0C = sighttracepassed(var_0A,var_0B,0,self);
|
|
if(!var_0C)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 35
|
|
mech_melee_behavior()
|
|
{
|
|
self endon("death");
|
|
var_00 = 0.05;
|
|
for(;;)
|
|
{
|
|
if(mech_melee_is_valid())
|
|
{
|
|
self animcustom(::mech_do_melee,::mech_melee_endscript);
|
|
self waittill("melee_complete");
|
|
}
|
|
|
|
wait(var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 36
|
|
mech_rocket_launcher_behavior(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
self endon("death");
|
|
self endon("stop_rocket_launcher");
|
|
var_07 = 0.25;
|
|
self.isshootingrockets = 1;
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = 256;
|
|
}
|
|
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = 2048;
|
|
}
|
|
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = 0;
|
|
}
|
|
|
|
if(!isdefined(param_03))
|
|
{
|
|
param_03 = 3;
|
|
}
|
|
|
|
if(!isdefined(param_04))
|
|
{
|
|
param_04 = 50;
|
|
}
|
|
|
|
if(!isdefined(param_05))
|
|
{
|
|
param_05 = 4;
|
|
}
|
|
|
|
if(!isdefined(param_06))
|
|
{
|
|
param_06 = 117;
|
|
}
|
|
|
|
var_08 = param_00 * param_00;
|
|
var_09 = param_01 * param_01;
|
|
for(;;)
|
|
{
|
|
if(!isdefined(self.enemy) || !self canshootenemy())
|
|
{
|
|
wait(var_07);
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.underwater) && self.underwater)
|
|
{
|
|
wait(var_07);
|
|
continue;
|
|
}
|
|
|
|
if(getdvar("debug_mech_rocket") == "on")
|
|
{
|
|
self.mechrocketdebug = 1;
|
|
}
|
|
else
|
|
{
|
|
self.mechrocketdebug = 0;
|
|
}
|
|
|
|
var_0A = self gettagorigin("tag_eye");
|
|
var_0B = self.enemy getshootatpos() - var_0A;
|
|
var_0C = vectornormalize(anglestoforward(self gettagangles("tag_eye")));
|
|
var_0D = vectornormalize(var_0B);
|
|
var_0E = vectordot(var_0C,var_0D);
|
|
if(var_0E < param_02)
|
|
{
|
|
wait(var_07);
|
|
continue;
|
|
}
|
|
|
|
if((isdefined(self.emp) && self.emp) || animscripts\utility::isdoingpain())
|
|
{
|
|
wait(var_07);
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.team) && self.team == "allies")
|
|
{
|
|
var_10 = pointonsegmentnearesttopoint(self.enemy getshootatpos(),var_0A,level.player.origin);
|
|
if(distance(level.player.origin,var_10) < param_06)
|
|
{
|
|
wait(var_07);
|
|
continue;
|
|
}
|
|
}
|
|
|
|
var_11 = distancesquared(self.origin,self.enemy.origin);
|
|
if(var_11 >= var_08 && var_11 <= var_09)
|
|
{
|
|
if(!isdefined(self.rocketpodup) || !self.rocketpodup)
|
|
{
|
|
mech_raise_rocket_pod(1);
|
|
}
|
|
|
|
thread mech_random_missile_attractors(self.enemy);
|
|
var_12 = 0;
|
|
while(var_12 < param_03)
|
|
{
|
|
mech_fire_rockets();
|
|
var_12++;
|
|
wait(0.5);
|
|
if((isdefined(self.emp) && self.emp) || animscripts\utility::isdoingpain())
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
thread mech_random_missile_attractor_cleanup(1);
|
|
if((isdefined(self.emp) && self.emp) || animscripts\utility::isdoingpain())
|
|
{
|
|
mech_lower_rocket_pod(1);
|
|
}
|
|
else if(randomfloatrange(0,100) < param_04)
|
|
{
|
|
mech_lower_rocket_pod(1);
|
|
}
|
|
|
|
wait(0.5 * param_05 + randomfloatrange(0,param_05));
|
|
}
|
|
|
|
wait(var_07);
|
|
}
|
|
|
|
self.isshootingrockets = 0;
|
|
}
|
|
|
|
//Function Number: 37
|
|
mech_random_missile_attractors(param_00)
|
|
{
|
|
if(!isdefined(self.attractornumber))
|
|
{
|
|
self.attractornumber = 6;
|
|
}
|
|
|
|
if(!isdefined(self.repulsornumber))
|
|
{
|
|
self.repulsornumber = 3;
|
|
}
|
|
|
|
var_01 = 130;
|
|
var_02 = 130;
|
|
var_03 = 200;
|
|
var_04 = mech_precise_target_position(self,param_00);
|
|
var_05 = var_04 + self.origin / 2;
|
|
var_06 = 1500;
|
|
var_07 = 2000;
|
|
var_08 = 3000;
|
|
var_09 = 128;
|
|
var_0A = 256;
|
|
var_0B = 1200;
|
|
self.mechmissileattractors = [];
|
|
self.mechmissilerepulsors = [];
|
|
if(level._mech_globals.num_missile_attractors + self.attractornumber <= 10)
|
|
{
|
|
for(var_0C = 0;var_0C < self.attractornumber;var_0C++)
|
|
{
|
|
var_0D = randomintrange(-1 * var_01,var_01);
|
|
var_0E = randomintrange(-1 * var_02,var_02);
|
|
var_0F = randomintrange(0,var_03);
|
|
var_10 = var_05 + (var_0D,var_0E,var_0F);
|
|
self.mechmissileattractors[var_0C] = missile_createattractororigin(var_10,var_07,var_0A);
|
|
level._mech_globals.num_missile_attractors++;
|
|
}
|
|
}
|
|
|
|
if(level._mech_globals.num_missile_repulsors + self.repulsornumber <= 10)
|
|
{
|
|
for(var_0C = 0;var_0C < self.repulsornumber;var_0C++)
|
|
{
|
|
var_0D = randomintrange(-1 * var_01,var_01);
|
|
var_0E = randomintrange(-1 * var_02,var_02);
|
|
var_0F = randomintrange(0,var_03);
|
|
var_10 = var_05 + (var_0D,var_0E,var_0F);
|
|
self.mechmissilerepulsors[var_0C] = missile_createrepulsororigin(var_10,var_06,var_09);
|
|
level._mech_globals.num_missile_repulsors++;
|
|
}
|
|
}
|
|
|
|
if(!isdefined(param_00))
|
|
{
|
|
self.mechmissileattractors[self.attractornumber] = undefined;
|
|
return;
|
|
}
|
|
|
|
if(level._mech_globals.num_missile_attractors + 1 <= 10)
|
|
{
|
|
self.mechmissileattractors[self.attractornumber] = missile_createattractorent(param_00,var_08,var_0B);
|
|
level._mech_globals.num_missile_attractors++;
|
|
}
|
|
|
|
thread mech_rocket_fire_timeout(param_00);
|
|
}
|
|
|
|
//Function Number: 38
|
|
mech_random_missile_attractor_cleanup(param_00)
|
|
{
|
|
wait(param_00);
|
|
if(isdefined(self))
|
|
{
|
|
if(isdefined(self.mechmissileattractors))
|
|
{
|
|
for(var_01 = 0;var_01 < self.attractornumber + 1;var_01++)
|
|
{
|
|
if(isdefined(self.mechmissileattractors[var_01]))
|
|
{
|
|
missile_deleteattractor(self.mechmissileattractors[var_01]);
|
|
level._mech_globals.num_missile_attractors--;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.mechmissilerepulsors))
|
|
{
|
|
for(var_01 = 0;var_01 < self.repulsornumber;var_01++)
|
|
{
|
|
if(isdefined(self.mechmissilerepulsors[var_01]))
|
|
{
|
|
missile_deleteattractor(self.mechmissilerepulsors[var_01]);
|
|
level._mech_globals.num_missile_repulsors--;
|
|
}
|
|
}
|
|
}
|
|
|
|
self.mechmissileattractors = [];
|
|
self.mechmissilerepulsors = [];
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
mech_fire_rockets()
|
|
{
|
|
self endon("death");
|
|
var_00 = 48;
|
|
var_01 = 64;
|
|
var_02 = 3;
|
|
var_03 = 6;
|
|
var_04 = 100;
|
|
var_05 = 24;
|
|
var_06 = 0.1;
|
|
var_07 = 0.4;
|
|
var_08 = 12;
|
|
var_09 = "tag_rocket";
|
|
var_0A = 0.2;
|
|
var_0B = randomintrange(var_02 + 1,var_03 + 1);
|
|
var_0C = 20;
|
|
var_0D = 20;
|
|
var_0E = 16;
|
|
for(var_0F = 1;var_0F < var_0B;var_0F++)
|
|
{
|
|
var_10 = var_09 + var_0F;
|
|
var_11 = self gettagorigin(var_10);
|
|
var_12 = self gettagangles(var_10);
|
|
var_13 = anglestoforward(var_12);
|
|
var_13 = vectornormalize(var_13);
|
|
var_14 = randomintrange(-1 * var_0C,var_0C);
|
|
var_15 = randomintrange(-1 * var_0D,var_0D);
|
|
var_16 = randomintrange(-1 * var_0E,var_0E);
|
|
var_17 = var_11 + var_13 * var_05;
|
|
var_18 = var_11 + var_13 * var_04 + (var_14,var_15,var_16);
|
|
var_19 = magicbullet("mech_rocket_deploy",var_17,var_18);
|
|
playfx(level.mech_fx["rocket_muzzle_flash"],var_11,var_13,(0,0,1));
|
|
if(isdefined(var_19))
|
|
{
|
|
var_1A = randomfloatrange(var_06,var_07);
|
|
var_19 thread mech_rocket_deploy_projectile_think(self,self.enemy,var_1A);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
|
|
wait(0.25);
|
|
}
|
|
|
|
//Function Number: 40
|
|
mech_precise_target_position(param_00,param_01)
|
|
{
|
|
if(isdefined(param_01))
|
|
{
|
|
return param_01.origin;
|
|
}
|
|
|
|
return 400 * anglestoforward(param_00.angles);
|
|
}
|
|
|
|
//Function Number: 41
|
|
mech_rocket_deploy_projectile_think(param_00,param_01,param_02)
|
|
{
|
|
var_03 = 32;
|
|
var_04 = self.origin;
|
|
wait(param_02);
|
|
if(isdefined(self))
|
|
{
|
|
var_05 = (randomintrange(-1 * var_03,var_03),randomintrange(-1 * var_03,var_03),randomintrange(-1 * var_03,var_03));
|
|
var_06 = mech_precise_target_position(self,param_01) + var_05;
|
|
var_07 = magicbullet("mech_rocket",self.origin,var_06);
|
|
playfx(level.mech_fx["rocket_seperation"],self.origin,anglestoforward(self.angles),(0,0,1));
|
|
var_07 thread mech_rocket_projectile_think(param_01,var_06,param_00);
|
|
var_07.owner = param_00;
|
|
self delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 42
|
|
mech_rocket_fire_timeout(param_00)
|
|
{
|
|
wait(1);
|
|
if(isdefined(self.mechmissileattractors) && isdefined(self.mechmissileattractors[self.attractornumber]))
|
|
{
|
|
missile_deleteattractor(self.mechmissileattractors[self.attractornumber]);
|
|
var_01 = mech_precise_target_position(self,param_00);
|
|
self.mechmissileattractors[self.attractornumber] = missile_createattractororigin(var_01,5000,256);
|
|
}
|
|
}
|
|
|
|
//Function Number: 43
|
|
mech_rocket_projectile_think(param_00,param_01,param_02)
|
|
{
|
|
self endon("death");
|
|
if(isdefined(self))
|
|
{
|
|
if(isdefined(param_00))
|
|
{
|
|
self missile_settargetent(param_00,(0,0,32));
|
|
}
|
|
else
|
|
{
|
|
self missile_settargetpos(param_01);
|
|
}
|
|
|
|
self hide();
|
|
var_03 = randomintrange(0,3);
|
|
playfxontag(level.mech_fx["rocket_trail_" + var_03],self,"tag_origin");
|
|
}
|
|
|
|
var_04 = self.origin;
|
|
for(;;)
|
|
{
|
|
var_04 = self.origin;
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 44
|
|
mech_raise_rocket_pod(param_00)
|
|
{
|
|
var_01 = 0.2;
|
|
var_02 = %mech_add_rocketpack_raise;
|
|
self setanimknobrestart(var_02,1,var_01);
|
|
soundscripts\_snd::snd_message("snd_mech_add_rocketpack_raise");
|
|
if(isdefined(param_00) && param_00)
|
|
{
|
|
wait(getanimlength(var_02));
|
|
}
|
|
|
|
self.rocketpodup = 1;
|
|
}
|
|
|
|
//Function Number: 45
|
|
mech_lower_rocket_pod(param_00)
|
|
{
|
|
var_01 = 0.2;
|
|
var_02 = %mech_add_rocketpack_lower;
|
|
self setanimknobrestart(var_02,1,var_01);
|
|
soundscripts\_snd::snd_message("snd_mech_add_rocketpack_lower");
|
|
if(isdefined(param_00) && param_00)
|
|
{
|
|
wait(getanimlength(var_02));
|
|
}
|
|
|
|
self.rocketpodup = 0;
|
|
}
|
|
|
|
//Function Number: 46
|
|
mech_generic_attacking_behavior()
|
|
{
|
|
self endon("death");
|
|
self endon("stop_generic_attacking");
|
|
for(;;)
|
|
{
|
|
wait(0.2);
|
|
animscripts\combat::tryexposedreacquire();
|
|
if(isdefined(self.enemy))
|
|
{
|
|
self.goalradius = 200;
|
|
self.goalheight = 81;
|
|
animscripts\combat_utility::tryrunningtoenemy(1);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 47
|
|
mech_target_attacker(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
if(isdefined(self.targetattacker) && self.targetattacker)
|
|
{
|
|
self.usechokepoints = 0;
|
|
if(isdefined(param_01) && self cansee(param_01))
|
|
{
|
|
self setgoalpos(param_01.origin);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 48
|
|
mech_hunt_stealth_behavior()
|
|
{
|
|
self endon("death");
|
|
self endon("stop_hunting");
|
|
self endon("_stealth_enemy_alert_level_change");
|
|
self.usechokepoints = 1;
|
|
var_00 = 0;
|
|
var_01 = randomfloatrange(3,4);
|
|
for(;;)
|
|
{
|
|
wait(0.5);
|
|
if(isdefined(self.enemy) && isdefined(level.player) && self.enemy == level.player)
|
|
{
|
|
if(isdefined(level._cloaked_stealth_settings) && isdefined(level._cloaked_stealth_settings.cloak_on) && level._cloaked_stealth_settings.cloak_on)
|
|
{
|
|
wait(randomfloatrange(0.3,3));
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.enemy))
|
|
{
|
|
self setgoalpos(self lastknownpos(self.enemy));
|
|
self.goalradius = 400;
|
|
self.goalheight = 81;
|
|
}
|
|
else
|
|
{
|
|
var_00++;
|
|
}
|
|
|
|
if(0.5 * var_00 > var_01)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 49
|
|
mech_hunt_immediately_behavior()
|
|
{
|
|
self endon("death");
|
|
self endon("stop_hunting");
|
|
self.usechokepoints = 0;
|
|
for(;;)
|
|
{
|
|
wait(0.5);
|
|
if(isdefined(self.enemy))
|
|
{
|
|
self setgoalpos(self.enemy.origin);
|
|
self.goalradius = 200;
|
|
self.goalheight = 81;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 50
|
|
mech_emp_function()
|
|
{
|
|
mech_emp_loop(%mech_emp_react,6);
|
|
}
|
|
|
|
//Function Number: 51
|
|
mech_emp_loop(param_00,param_01)
|
|
{
|
|
self endon("death");
|
|
if((isdefined(self.emp) && self.emp) || common_scripts\utility::isflashed())
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.a.pose = "stand";
|
|
self.allowdeath = 1;
|
|
var_02 = self.flashbangimmunity;
|
|
self.flashbangimmunity = 0;
|
|
self.emp = 1;
|
|
maps\_utility::flashbangstart(param_01);
|
|
self.flashbangimmunity = var_02;
|
|
thread empanim(param_01);
|
|
}
|
|
|
|
//Function Number: 52
|
|
empanim(param_00)
|
|
{
|
|
self endon("death");
|
|
if((isdefined(self.emp) && !self.emp) || !common_scripts\utility::isflashed())
|
|
{
|
|
return;
|
|
}
|
|
|
|
self notify("start_emp_effect");
|
|
var_01 = self.minpaindamage;
|
|
self.minpaindamage = 20000;
|
|
maps\_utility::disable_pain();
|
|
var_02 = getanimlength(%mech_emp_react);
|
|
wait(var_02);
|
|
self setanimknob(%mech_emp_idle,1,0.2,1);
|
|
var_03 = getanimlength(%mech_emp_restart);
|
|
wait(param_00 - var_03 + var_02);
|
|
if(common_scripts\utility::isflashed())
|
|
{
|
|
self setanimknob(%mech_emp_restart,1,1,1);
|
|
soundscripts\_snd::snd_message("snd_mech_emp_restart");
|
|
}
|
|
|
|
wait(var_03);
|
|
maps\_utility::enable_pain();
|
|
self.minpaindamage = var_01;
|
|
self.emp = 0;
|
|
}
|
|
|
|
//Function Number: 53
|
|
init_mech_animsets()
|
|
{
|
|
if(isdefined(level.archetypes["mech"]))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.archetypes["mech"] = [];
|
|
init_animset_mech_default_stand();
|
|
init_animset_mech_walk_move();
|
|
init_animset_mech_run_move();
|
|
init_animset_mech_cqb_move();
|
|
init_animset_mech_shoot_moving();
|
|
init_mech_turn_animations();
|
|
init_animset_mech_death();
|
|
init_animset_mech_pain();
|
|
init_animset_mech_flashed();
|
|
init_animset_mech_grenade_animations();
|
|
init_animset_mech_stop();
|
|
init_animset_mech_addpain();
|
|
level.archetypes["mech"]["combat"]["surprise_stop"] = %mech_unaware_walk_stop;
|
|
level.archetypes["mech"]["combat"]["trans_to_combat"] = %mech_walk_start;
|
|
init_amimset_mech_transition();
|
|
}
|
|
|
|
//Function Number: 54
|
|
init_animset_mech_addpain()
|
|
{
|
|
anim.initanimset = [];
|
|
level.initanimset["default"] = [%mech_flinch_back,%mech_flinch_chest];
|
|
level.initanimset["left_arm"] = %mech_flinch_lshoulder_down;
|
|
level.initanimset["right_arm"] = %mech_flinch_rshoulder_down;
|
|
level.initanimset["left_leg"] = %mech_flinch_lshoulder_up;
|
|
level.initanimset["right_leg"] = %mech_flinch_rshoulder_up;
|
|
level.archetypes["mech"]["additive_pain"] = level.initanimset;
|
|
}
|
|
|
|
//Function Number: 55
|
|
init_animset_mech_stop()
|
|
{
|
|
var_00 = [];
|
|
var_00["stand"][0] = [%mech_stand_idle];
|
|
var_00["stand"][1] = [%mech_stand_idle];
|
|
var_00["stand_cqb"][0] = [%mech_stand_idle];
|
|
var_00["crouch"][0] = [%mech_stand_idle];
|
|
level.archetypes["mech"]["idle"] = var_00;
|
|
var_00 = [];
|
|
var_00["stand"][0] = [1];
|
|
var_00["stand"][1] = [1];
|
|
var_00["stand_cqb"][0] = [1];
|
|
var_00["crouch"][0] = [1];
|
|
level.archetypes["mech"]["idle_weights"] = var_00;
|
|
var_00 = [];
|
|
var_00["stand"] = %mech_stand_idle;
|
|
var_00["crouch"] = %mech_stand_idle;
|
|
var_00["stand_smg"] = %mech_stand_idle;
|
|
level.archetypes["mech"]["idle_transitions"] = var_00;
|
|
}
|
|
|
|
//Function Number: 56
|
|
init_amimset_mech_transition()
|
|
{
|
|
var_00 = [];
|
|
var_00["exposed"] = [];
|
|
var_00["exposed"][1] = %mech_walk_stop_1;
|
|
var_00["exposed"][2] = %mech_walk_stop_2;
|
|
var_00["exposed"][3] = %mech_walk_stop_3;
|
|
var_00["exposed"][4] = %mech_walk_stop_4;
|
|
var_00["exposed"][6] = %mech_walk_stop_6;
|
|
var_00["exposed"][7] = %mech_walk_stop_7;
|
|
var_00["exposed"][8] = %mech_walk_stop_8;
|
|
var_00["exposed"][9] = %mech_walk_stop_9;
|
|
var_00["exposed_cqb"] = [];
|
|
var_00["exposed_cqb"][1] = %mech_walk_stop_1;
|
|
var_00["exposed_cqb"][2] = %mech_walk_stop_2;
|
|
var_00["exposed_cqb"][3] = %mech_walk_stop_3;
|
|
var_00["exposed_cqb"][4] = %mech_walk_stop_4;
|
|
var_00["exposed_cqb"][6] = %mech_walk_stop_6;
|
|
var_00["exposed_cqb"][7] = %mech_walk_stop_7;
|
|
var_00["exposed_cqb"][8] = %mech_walk_stop_8;
|
|
var_00["exposed_cqb"][9] = %mech_walk_stop_9;
|
|
level.archetypes["mech"]["cover_trans"] = var_00;
|
|
var_00 = [];
|
|
var_00["exposed"] = [];
|
|
var_00["exposed"][1] = %mech_walk_start_1;
|
|
var_00["exposed"][2] = %mech_walk_start_2;
|
|
var_00["exposed"][3] = %mech_walk_start_3;
|
|
var_00["exposed"][4] = %mech_walk_start_4;
|
|
var_00["exposed"][6] = %mech_walk_start_6;
|
|
var_00["exposed"][7] = %mech_walk_start_7;
|
|
var_00["exposed"][8] = %mech_walk_start_8;
|
|
var_00["exposed"][9] = %mech_walk_start_9;
|
|
var_00["exposed_cqb"] = [];
|
|
var_00["exposed_cqb"][1] = %mech_walk_start_1;
|
|
var_00["exposed_cqb"][2] = %mech_walk_start_2;
|
|
var_00["exposed_cqb"][3] = %mech_walk_start_3;
|
|
var_00["exposed_cqb"][4] = %mech_walk_start_4;
|
|
var_00["exposed_cqb"][6] = %mech_walk_start_6;
|
|
var_00["exposed_cqb"][7] = %mech_walk_start_7;
|
|
var_00["exposed_cqb"][8] = %mech_walk_start_8;
|
|
var_00["exposed_cqb"][9] = %mech_walk_start_9;
|
|
level.archetypes["mech"]["cover_exit"] = var_00;
|
|
animscripts\init_move_transitions::inittransdistandanglesforarchetype("mech");
|
|
initmechsplittimes();
|
|
animscripts\init_move_transitions::getsplittimes("mech");
|
|
}
|
|
|
|
//Function Number: 57
|
|
initmechsplittimes()
|
|
{
|
|
}
|
|
|
|
//Function Number: 58
|
|
init_animset_mech_shoot_moving()
|
|
{
|
|
var_00 = [];
|
|
var_00["fire"] = %mech_walking_fire_auto;
|
|
var_00["single"] = [%mech_walking_fire_auto];
|
|
level.archetypes["mech"]["shoot_while_moving"] = var_00;
|
|
}
|
|
|
|
//Function Number: 59
|
|
init_mech_turn_animations()
|
|
{
|
|
anim.initanimset = [];
|
|
level.initanimset[0] = %mech_run_turn_180;
|
|
level.initanimset[1] = %mech_run_turn_l135;
|
|
level.initanimset[2] = %mech_run_turn_l90;
|
|
level.initanimset[3] = %mech_run_turn_l45;
|
|
level.initanimset[5] = %mech_run_turn_r45;
|
|
level.initanimset[6] = %mech_run_turn_r90;
|
|
level.initanimset[7] = %mech_run_turn_r135;
|
|
level.initanimset[8] = %mech_run_turn_180;
|
|
level.archetypes["mech"]["run_turn"] = level.initanimset;
|
|
level.archetypes["mech"]["cqb_run_turn"] = level.initanimset;
|
|
anim.initanimset = [];
|
|
level.initanimset[0] = %mech_walk_turn_2;
|
|
level.initanimset[1] = %mech_walk_turn_1;
|
|
level.initanimset[2] = %mech_walk_turn_4;
|
|
level.initanimset[3] = %mech_walk_turn_7;
|
|
level.initanimset[5] = %mech_walk_turn_9;
|
|
level.initanimset[6] = %mech_walk_turn_6;
|
|
level.initanimset[7] = %mech_walk_turn_3;
|
|
level.initanimset[8] = %mech_walk_turn_2;
|
|
level.archetypes["mech"]["cqb_turn"] = level.initanimset;
|
|
anim.initanimset = [];
|
|
level.initanimset["turn_left_45"] = %mech_turn_45_l;
|
|
level.initanimset["turn_left_90"] = %mech_turn_90_l;
|
|
level.initanimset["turn_left_135"] = %mech_turn_135_l;
|
|
level.initanimset["turn_left_180"] = %mech_turn_180_l;
|
|
level.initanimset["turn_right_45"] = %mech_turn_45_r;
|
|
level.initanimset["turn_right_90"] = %mech_turn_90_r;
|
|
level.initanimset["turn_right_135"] = %mech_turn_135_r;
|
|
level.initanimset["turn_right_180"] = %mech_turn_180_r;
|
|
level.archetypes["mech"]["exposed_turn"] = level.initanimset;
|
|
}
|
|
|
|
//Function Number: 60
|
|
init_animset_mech_grenade_animations()
|
|
{
|
|
anim.initanimset = [];
|
|
level.initanimset["cower_squat"] = %mech_exposed_squat_down_mech_grenade_f;
|
|
level.initanimset["cower_dive_back"] = %mech_exposed_dive_grenade_b;
|
|
level.initanimset["cower_dive_front"] = %mech_exposed_dive_grenade_f;
|
|
level.initanimset["return_throw_short"] = [%mech_grenade_return_running_throw_forward,%mech_grenade_return_standing_throw_overhand_forward];
|
|
level.initanimset["return_throw_long"] = [%mech_grenade_return_standing_throw_overhand_forward];
|
|
level.initanimset["return_throw_default"] = [%mech_grenade_return_running_throw_forward,%mech_grenade_return_standing_throw_overhand_forward];
|
|
level.archetypes["mech"]["grenade"] = level.initanimset;
|
|
}
|
|
|
|
//Function Number: 61
|
|
init_animset_mech_pain()
|
|
{
|
|
anim.initanimset = [];
|
|
level.initanimset["torso_upper"] = [%mech_stand_exposed_extendedpain_neck];
|
|
level.initanimset["torso_upper_extended"] = [%mech_stand_exposed_extendedpain_gut,%mech_stand_exposed_extendedpain_stomach];
|
|
level.initanimset["torso_lower"] = [%mech_exposed_pain_groin,%mech_stand_exposed_extendedpain_hip];
|
|
level.initanimset["torso_lower_extended"] = [%mech_stand_exposed_extendedpain_gut,%mech_stand_exposed_extendedpain_stomach];
|
|
level.initanimset["head"] = [%mech_exposed_pain_face,%mech_stand_exposed_extendedpain_neck];
|
|
level.initanimset["head_extended"] = [%mech_exposed_pain_face,%mech_stand_exposed_extendedpain_neck];
|
|
level.initanimset["right_arm"] = [%mech_exposed_pain_right_arm];
|
|
level.initanimset["right_arm_extended"] = [%mech_exposed_pain_right_arm];
|
|
level.initanimset["left_arm"] = [%mech_stand_exposed_extendedpain_shoulderswing];
|
|
level.initanimset["left_arm_extended"] = [%mech_stand_exposed_extendedpain_shoulderswing];
|
|
level.initanimset["leg"] = [%mech_exposed_pain_groin];
|
|
level.initanimset["leg_extended"] = [%mech_stand_exposed_extendedpain_stomach];
|
|
level.initanimset["foot"] = [%mech_stand_exposed_extendedpain_thigh];
|
|
level.initanimset["foot_extended"] = [%mech_stand_exposed_extendedpain_thigh];
|
|
level.initanimset["default_long"] = [%mech_stand_extendedpainc,%mech_stand_exposed_extendedpain_chest,%mech_stand_exposed_extendedpain_stomach];
|
|
level.initanimset["default_short"] = [%mech_exposed_pain_right_arm,%mech_exposed_pain_face,%mech_exposed_pain_groin];
|
|
level.initanimset["default_extended"] = [%mech_stand_extendedpainb,%mech_stand_exposed_extendedpain_chest,%mech_stand_extendedpainc];
|
|
level.initanimset["damage_shield_pain_array"] = [%mech_stand_exposed_extendedpain_gut,%mech_stand_exposed_extendedpain_stomach,%mech_stand_exposed_extendedpain_chest];
|
|
level.initanimset["run_long"] = [%mech_stand_extendedpainc,%mech_stand_extendedpainb,%mech_stand_exposed_extendedpain_chest];
|
|
level.initanimset["run_medium"] = [%mech_stand_extendedpainc,%mech_stand_extendedpainb,%mech_stand_exposed_extendedpain_chest];
|
|
level.initanimset["run_short"] = [%mech_stand_extendedpainc,%mech_stand_extendedpainb,%mech_stand_exposed_extendedpain_chest];
|
|
level.initanimset["back"] = %mech_stand_extendedpainb;
|
|
level.archetypes["mech"]["pain"] = level.initanimset;
|
|
}
|
|
|
|
//Function Number: 62
|
|
init_animset_mech_death()
|
|
{
|
|
var_00 = [];
|
|
var_00["directed_energy_stand_front_head"] = [%mech_stand_death_headshot_slowfall];
|
|
var_00["directed_energy_stand_front_legs"] = [%mech_stand_death_leg];
|
|
var_00["directed_energy_stand_front_default"] = [%mech_stand_death_tumbleforward];
|
|
var_00["directed_energy_stand_back_default"] = [%mech_stand_death_tumbleback];
|
|
var_00["strong_legs"] = [%mech_stand_death_leg];
|
|
var_00["strong_torso_lower"] = [%mech_stand_death_guts];
|
|
var_00["strong_default"] = [%mech_stand_death_stumbleforward,%mech_stand_death_tumbleforward];
|
|
var_00["strong_right"] = [%mech_stand_death_shoulder_spin,%mech_stand_death_fallside];
|
|
var_00["strong_left"] = [%mech_stand_death_shoulder_spin,%mech_stand_death_fallside];
|
|
var_00["running_forward"] = [%mech_stand_death_tumbleforward,%mech_exposed_death_flop];
|
|
var_00["running_forward_f"] = [%mech_stand_death_tumbleback];
|
|
var_00["stand_lower_body"] = [%mech_stand_death_crotch,%mech_stand_death_leg];
|
|
var_00["stand_lower_body_extended"] = [%mech_stand_death_crotch,%mech_stand_death_guts];
|
|
var_00["stand_head"] = [%mech_stand_death_face,%mech_stand_death_headshot_slowfall];
|
|
var_00["stand_neck"] = [%mech_exposed_death_neckgrab];
|
|
var_00["stand_left_shoulder"] = [%mech_stand_death_shoulder_spin];
|
|
var_00["stand_torso_upper"] = [%mech_stand_death_tumbleforward];
|
|
var_00["stand_torso_upper_extended"] = [%mech_stand_death_fallside];
|
|
var_00["stand_front_head"] = [%mech_stand_death_face,%mech_stand_death_headshot_slowfall];
|
|
var_00["stand_front_head_extended"] = [%mech_stand_death_head_straight_back];
|
|
var_00["stand_front_torso"] = [%mech_stand_death_tumbleback];
|
|
var_00["stand_front_torso_extended"] = [%mech_stand_death_chest_stunned];
|
|
var_00["stand_back"] = [%mech_exposed_death_flop];
|
|
var_00["stand_default"] = [%mech_exposed_death_flop];
|
|
var_00["stand_default_firing"] = [%mech_exposed_death_flop];
|
|
var_00["stand_backup_default"] = %mech_exposed_death_flop;
|
|
var_00["melee_standing_front"] = [%mech_exposed_death_neckgrab];
|
|
var_00["melee_standing_back"] = [%mech_exposed_death_flop];
|
|
var_00["melee_standing_left"] = [%mech_exposed_death_flop];
|
|
var_00["melee_standing_right"] = [%mech_exposed_death_flop];
|
|
var_00["melee_crouching_front"] = [%mech_exposed_death_flop];
|
|
var_00["melee_crouching_back"] = [%mech_exposed_death_flop];
|
|
var_00["melee_crouching_left"] = [%mech_exposed_death_flop];
|
|
var_00["melee_crouching_right"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_stand_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_stand_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_stand_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_stand_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_stand_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_stand_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_stand_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_stand_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_stand_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_stand_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_stand_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_stand_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_crouch_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_crouch_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_crouch_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_crouch_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_crouch_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_crouch_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_crouch_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_crouch_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_crouch_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_crouch_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_crouch_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_crouch_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_prone_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_prone_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_prone_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_prone_stand"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_prone_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_prone_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_prone_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_prone_crouch"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_prone_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_back_prone_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_left_prone_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_right_prone_prone"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_stand_front_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_stand_back_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_stand_left_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_stand_right_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_crouch_front_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_crouch_back_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_crouch_left_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_crouch_right_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_prone_front_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_prone_back_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_prone_left_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_prone_right_head"] = [%mech_exposed_death_flop];
|
|
var_00["melee_exo_front_lower"] = [%mech_exposed_death_flop];
|
|
var_00["emp"] = [%mech_emp_death];
|
|
level.archetypes["mech"]["death"] = var_00;
|
|
}
|
|
|
|
//Function Number: 63
|
|
init_animset_mech_cqb_move()
|
|
{
|
|
anim.initanimset = [];
|
|
level.initanimset["sprint"] = %mech_runf;
|
|
level.initanimset["sprint_short"] = %mech_sprint;
|
|
level.initanimset["straight"] = %mech_walkf;
|
|
level.initanimset["fire"] = %mech_walking_fire_auto;
|
|
level.initanimset["single"] = [%mech_walking_fire_auto];
|
|
level.initanimset["move_f"] = %mech_walkf;
|
|
level.initanimset["move_l"] = %mech_stand_walk_left;
|
|
level.initanimset["move_r"] = %mech_stand_walk_right;
|
|
level.initanimset["move_b"] = %mech_stand_walk_back;
|
|
level.initanimset["stairs_up"] = %mech_run_stairs_up;
|
|
level.initanimset["stairs_up_in"] = %mech_run_stairs_up_2_run;
|
|
level.initanimset["stairs_down_out"] = %mech_run_stairs_down_2_run;
|
|
level.initanimset["stairs_down"] = %mech_run_stairs_down;
|
|
level.initanimset["aim_2"] = %mech_walking_aim_low;
|
|
level.initanimset["aim_4"] = %mech_walking_aim_left;
|
|
level.initanimset["aim_6"] = %mech_walking_aim_right;
|
|
level.initanimset["aim_8"] = %mech_walking_aim_high;
|
|
level.initanimset["aim_5"] = %mech_walking_aim5;
|
|
level.archetypes["mech"]["cqb"] = level.initanimset;
|
|
}
|
|
|
|
//Function Number: 64
|
|
init_animset_mech_default_stand()
|
|
{
|
|
anim.initanimset = [];
|
|
level.initanimset["add_aim_up"] = %mech_aim_high;
|
|
level.initanimset["add_aim_down"] = %mech_aim_low;
|
|
level.initanimset["add_aim_left"] = %mech_aim_left;
|
|
level.initanimset["add_aim_right"] = %mech_aim_right;
|
|
level.initanimset["straight_level"] = %mech_aim5;
|
|
level.initanimset["aim_2"] = %mech_aim_low;
|
|
level.initanimset["aim_4"] = %mech_aim_left;
|
|
level.initanimset["aim_6"] = %mech_aim_right;
|
|
level.initanimset["aim_8"] = %mech_aim_high;
|
|
level.initanimset["aim_5"] = %mech_aim5;
|
|
level.initanimset["fire"] = %mech_walking_fire_auto;
|
|
level.initanimset["single"] = animscripts\utility::array(%mech_stand_fire_burst_semi);
|
|
set_animarray_mech_burst_and_semi_fire_stand();
|
|
level.initanimset["exposed_idle"] = animscripts\utility::array(%mech_combat_idle);
|
|
level.initanimset["reload"] = animscripts\utility::array(%mech_stand_reload);
|
|
level.initanimset["reload_crouchhide"] = animscripts\utility::array(%mech_stand_reload);
|
|
set_animarray_mech_standing_turns();
|
|
level.archetypes["mech"]["default_stand"] = level.initanimset;
|
|
level.archetypes["mech"]["cqb_stand"] = level.initanimset;
|
|
}
|
|
|
|
//Function Number: 65
|
|
init_animset_mech_run_move()
|
|
{
|
|
anim.initanimset = [];
|
|
level.initanimset["sprint"] = %mech_sprint;
|
|
level.initanimset["sprint_short"] = %mech_sprint;
|
|
level.initanimset["fire"] = %mech_walking_fire_auto;
|
|
level.initanimset["single"] = [%mech_walking_fire_auto];
|
|
level.initanimset["straight"] = %mech_runf;
|
|
level.initanimset["smg_straight"] = %mech_runf;
|
|
level.initanimset["aim_2"] = %mech_walking_aim_low;
|
|
level.initanimset["aim_4"] = %mech_walking_aim_left;
|
|
level.initanimset["aim_6"] = %mech_walking_aim_right;
|
|
level.initanimset["aim_8"] = %mech_walking_aim_high;
|
|
level.initanimset["aim_5"] = %mech_walking_aim5;
|
|
level.initanimset["move_f"] = %mech_runf;
|
|
level.initanimset["move_l"] = %mech_stand_walk_left;
|
|
level.initanimset["move_r"] = %mech_stand_walk_right;
|
|
level.initanimset["move_b"] = %mech_stand_walk_back;
|
|
level.initanimset["stairs_up"] = %mech_run_stairs_up;
|
|
level.initanimset["stairs_up_in"] = %mech_run_stairs_up_2_run;
|
|
level.initanimset["stairs_up_out"] = %mech_run_stairs_up_2_run;
|
|
level.initanimset["stairs_down"] = %mech_run_stairs_down;
|
|
set_animarray_mech_burst_and_semi_fire_walk();
|
|
level.archetypes["mech"]["run"] = level.initanimset;
|
|
}
|
|
|
|
//Function Number: 66
|
|
init_animset_mech_walk_move()
|
|
{
|
|
anim.initanimset = [];
|
|
level.initanimset["sprint"] = %mech_sprint;
|
|
level.initanimset["straight"] = %mech_walkf;
|
|
level.initanimset["fire"] = %mech_walking_fire_auto;
|
|
level.initanimset["single"] = [%mech_walking_fire_auto];
|
|
level.initanimset["move_f"] = %mech_walkf;
|
|
level.initanimset["move_l"] = %mech_stand_walk_left;
|
|
level.initanimset["move_r"] = %mech_stand_walk_right;
|
|
level.initanimset["move_b"] = %mech_stand_walk_back;
|
|
level.initanimset["aim_2"] = %mech_walking_aim_low;
|
|
level.initanimset["aim_4"] = %mech_walking_aim_left;
|
|
level.initanimset["aim_6"] = %mech_walking_aim_right;
|
|
level.initanimset["aim_8"] = %mech_walking_aim_high;
|
|
level.initanimset["aim_5"] = %mech_walking_aim5;
|
|
level.initanimset["stairs_up"] = %mech_run_stairs_up;
|
|
level.initanimset["stairs_down"] = %mech_run_stairs_down;
|
|
level.initanimset["stairs_up_in"] = %mech_run_stairs_up_2_run;
|
|
level.initanimset["stairs_up_out"] = %mech_run_stairs_up_2_run;
|
|
set_animarray_mech_burst_and_semi_fire_walk();
|
|
level.archetypes["mech"]["walk"] = level.initanimset;
|
|
}
|
|
|
|
//Function Number: 67
|
|
set_animarray_mech_standing_turns()
|
|
{
|
|
level.initanimset["turn_left_45"] = %mech_turn_45_l;
|
|
level.initanimset["turn_left_90"] = %mech_turn_90_l;
|
|
level.initanimset["turn_left_135"] = %mech_turn_135_l;
|
|
level.initanimset["turn_left_180"] = %mech_turn_180_l;
|
|
level.initanimset["turn_right_45"] = %mech_turn_45_r;
|
|
level.initanimset["turn_right_90"] = %mech_turn_90_r;
|
|
level.initanimset["turn_right_135"] = %mech_turn_135_r;
|
|
level.initanimset["turn_right_180"] = %mech_turn_180_r;
|
|
}
|
|
|
|
//Function Number: 68
|
|
set_animarray_mech_burst_and_semi_fire_stand()
|
|
{
|
|
level.initanimset["burst2"] = %mech_stand_fire_burst;
|
|
level.initanimset["burst3"] = %mech_stand_fire_burst;
|
|
level.initanimset["burst4"] = %mech_stand_fire_burst;
|
|
level.initanimset["burst5"] = %mech_stand_fire_burst;
|
|
level.initanimset["burst6"] = %mech_stand_fire_burst;
|
|
level.initanimset["semi1"] = %mech_stand_fire_burst_semi;
|
|
level.initanimset["semi3"] = %mech_stand_fire_burst_semi;
|
|
level.initanimset["semi4"] = %mech_stand_fire_burst_semi;
|
|
level.initanimset["semi5"] = %mech_stand_fire_burst_semi;
|
|
}
|
|
|
|
//Function Number: 69
|
|
set_animarray_mech_burst_and_semi_fire_walk()
|
|
{
|
|
level.initanimset["burst2"] = %mech_walk_fire_burst;
|
|
level.initanimset["burst3"] = %mech_walk_fire_burst;
|
|
level.initanimset["burst4"] = %mech_walk_fire_burst;
|
|
level.initanimset["burst5"] = %mech_walk_fire_burst;
|
|
level.initanimset["burst6"] = %mech_walk_fire_burst;
|
|
level.initanimset["semi1"] = %mech_walk_fire_burst_semi;
|
|
level.initanimset["semi3"] = %mech_walk_fire_burst_semi;
|
|
level.initanimset["semi4"] = %mech_walk_fire_burst_semi;
|
|
level.initanimset["semi5"] = %mech_walk_fire_burst_semi;
|
|
}
|
|
|
|
//Function Number: 70
|
|
init_animset_mech_flashed()
|
|
{
|
|
var_00 = [];
|
|
var_00["flashed"] = [%mech_emp_react];
|
|
level.archetypes["mech"]["flashed"] = var_00;
|
|
level.flashanimindex["mech"] = 0;
|
|
} |