Files
IL-GSC/MW3/PC/SP/maps/_interactive_objects.gsc
InfinityLoader d559c1d414 Added MW3 Scripts
2023-10-27 03:47:01 -04:00

1750 lines
42 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\_interactive_objects.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: PC
* Function Count: 36
* Decompile Time: 642 ms
* Timestamp: 10/27/2023 2:23:03 AM
*******************************************************************/
//Function Number: 1
main()
{
common_scripts\utility::flag_init("no_ai_tv_damage");
var_00 = 0;
var_01 = getentarray("explodable_barrel","targetname");
if(var_01.size)
{
var_00 = 1;
}
var_01 = getentarray("explodable_barrel","script_noteworthy");
if(var_01.size > 0)
{
var_00 = 1;
}
if(var_00)
{
level.breakables_fx["barrel"]["explode"] = loadfx("props/barrelExp");
level.breakables_fx["barrel"]["burn_start"] = loadfx("props/barrel_ignite");
level.breakables_fx["barrel"]["burn"] = loadfx("props/barrel_fire_top");
}
var_02 = getentarray("oil_spill","targetname");
if(var_02.size)
{
level.breakables_fx["oilspill"]["burn"] = loadfx("props/barrel_fire");
level.breakables_fx["oilspill"]["spark"] = loadfx("impacts/small_metalhit_1");
}
var_03 = getentarray("tincan","targetname");
if(var_03.size)
{
level.breakables_fx["tincan"] = loadfx("props/tincan_bounce");
}
var_04 = 0;
var_05 = getentarray("breakable","targetname");
if(var_05.size)
{
var_04 = 1;
}
var_05 = getentarray("breakable_vase","targetname");
if(var_05.size)
{
var_04 = 1;
}
var_05 = getentarray("breakable box","targetname");
if(var_01.size)
{
var_04 = 1;
}
var_05 = getentarray("breakable box","script_noteworthy");
if(var_01.size)
{
var_04 = 1;
}
if(var_04)
{
level.breakables_fx["vase"] = loadfx("props/vase_water");
level.breakables_fx["bottle"] = loadfx("props/wine_bottle");
level.breakables_fx["box"][0] = loadfx("props/crateExp_dust");
level.breakables_fx["box"][1] = loadfx("props/crateExp_dust");
level.breakables_fx["box"][2] = loadfx("props/crateExp_dust");
level.breakables_fx["box"][3] = loadfx("props/crateExp_ammo");
}
var_06 = getentarray("glass","targetname");
var_06 = common_scripts\utility::array_combine(var_06,getentarray("glass","script_noteworthy"));
if(var_06.size)
{
level._glass_info = [];
level._glass_info["glass_large"]["breakfx"] = loadfx("props/car_glass_large");
level._glass_info["glass_large"]["breaksnd"] = "veh_glass_break_large";
level._glass_info["glass_med"]["breakfx"] = loadfx("props/car_glass_med");
level._glass_info["glass_med"]["breaksnd"] = "veh_glass_break_small";
level._glass_info["glass_small"]["breakfx"] = loadfx("props/car_glass_headlight");
level._glass_info["glass_small"]["breaksnd"] = "veh_glass_break_small";
}
var_07 = getentarray("interactive_tv","targetname");
if(var_07.size)
{
precachemodel("com_tv2_d");
precachemodel("com_tv1");
precachemodel("com_tv2");
precachemodel("com_tv1_testpattern");
precachemodel("com_tv2_testpattern");
level.breakables_fx["tv_explode"] = loadfx("explosions/tv_explosion");
}
level.var_1DDE = getentarray("interactive_tv_light","targetname");
var_08 = getentarray("destroyable_security_camera","script_noteworthy");
if(var_08.size)
{
precachemodel("com_security_camera");
precachemodel("com_security_camera_destroyed");
level.breakables_fx["security_camera_explode"] = loadfx("props/securitycamera_explosion");
}
level.tv_lite_array = "barrel_mtl_explode";
var_09 = 25;
level.var_1DE0["orange vase"] = 1;
level.var_1DE0["green vase"] = 1;
level.var_1DE0["bottle"] = 1;
level.var_1DE1 = 150;
level.precachemodeltype = [];
level.barrelexplodingthisframe = 0;
level.breakables_clip = [];
level.breakables_clip = getentarray("vase_break_remove","targetname");
level.console_auto_aim_2nd = [];
level.console_auto_aim_2nd = getentarray("xenon_auto_aim","targetname");
level.var_1DE6 = getentarray("xenon_auto_aim_secondary","targetname");
for(var_0A = 0;var_0A < level.console_auto_aim_2nd.size;var_0A++)
{
level.console_auto_aim_2nd[var_0A] notsolid();
}
for(var_0A = 0;var_0A < level.var_1DE6.size;var_0A++)
{
level.var_1DE6[var_0A] notsolid();
}
maps\_utility::set_console_status();
if(level.console)
{
level.console_auto_aim_2nd = undefined;
level.var_1DE6 = undefined;
}
var_0B = getentarray("breakable clip","targetname");
for(var_0A = 0;var_0A < var_0B.size;var_0A++)
{
level.breakables_clip[level.breakables_clip.size] = var_0B[var_0A];
}
level._breakable_utility_modelarray = [];
level._breakable_utility_modelindex = 0;
level._breakable_utility_maxnum = var_09;
common_scripts\utility::array_thread(getentarray("tincan","targetname"),::tincan_think);
common_scripts\utility::array_thread(getentarray("helmet_pop","targetname"),::helmet_pop);
common_scripts\utility::array_thread(getentarray("explodable_barrel","targetname"),::explodable_barrel_think);
common_scripts\utility::array_thread(getentarray("explodable_barrel","script_noteworthy"),::explodable_barrel_think);
common_scripts\utility::array_thread(getentarray("shuddering_entity","targetname"),::shuddering_entity_think);
common_scripts\utility::array_thread(getentarray("breakable box","targetname"),::breakable_think);
common_scripts\utility::array_thread(getentarray("breakable box","script_noteworthy"),::breakable_think);
common_scripts\utility::array_thread(getentarray("breakable","targetname"),::breakable_think);
common_scripts\utility::array_thread(getentarray("breakable_vase","targetname"),::breakable_think);
common_scripts\utility::array_thread(getentarray("oil_spill","targetname"),::oil_spill_think);
common_scripts\utility::array_thread(getentarray("glass","targetname"),::glass_logic);
common_scripts\utility::array_thread(getentarray("interactive_tv","targetname"),::tv_logic);
common_scripts\utility::array_thread(getentarray("destroyable_security_camera","script_noteworthy"),::security_camera_logic);
}
//Function Number: 2
security_camera_logic()
{
self setcandamage(1);
var_00 = undefined;
switch(self.model)
{
case "com_security_camera":
var_00 = "com_security_camera_destroyed";
break;
}
self waittill("damage",var_01,var_02,var_03,var_04,var_05);
self setmodel(var_00);
playfxontag(level.breakables_fx["security_camera_explode"],self,"tag_deathfx");
}
//Function Number: 3
tv_logic()
{
self setcandamage(1);
self.damagemodel = undefined;
self.offmodel = undefined;
self.damagemodel = "com_tv2_d";
self.offmodel = "com_tv2";
self.onmodel = "com_tv2_testpattern";
if(issubstr(self.model,"1"))
{
self.offmodel = "com_tv1";
self.onmodel = "com_tv1_testpattern";
}
if(isdefined(self.target))
{
if(isdefined(level.disable_interactive_tv_use_triggers))
{
var_00 = getent(self.target,"targetname");
if(isdefined(var_00))
{
var_00 delete();
}
}
else
{
self.usetrig = getent(self.target,"targetname");
self.usetrig usetriggerrequirelookat();
self.usetrig setcursorhint("HINT_NOICON");
}
}
var_01 = maps\_utility::get_array_of_closest(self.origin,level.var_1DDE,undefined,undefined,64);
if(var_01.size)
{
self.lite = var_01[0];
level.var_1DDE = common_scripts\utility::array_remove(level.var_1DDE,self.lite);
self.liteintensity = self.lite getlightintensity();
}
thread tv_damage();
if(isdefined(self.usetrig))
{
thread tv_off();
}
}
//Function Number: 4
tv_off()
{
self.usetrig endon("death");
for(;;)
{
wait 0.2;
self.usetrig waittill("trigger");
self notify("off");
if(self.model == self.offmodel)
{
self setmodel(self.onmodel);
if(isdefined(self.lite))
{
self.lite setlightintensity(self.liteintensity);
}
continue;
}
self setmodel(self.offmodel);
if(isdefined(self.lite))
{
self.lite setlightintensity(0);
}
}
}
//Function Number: 5
tv_damage()
{
for(;;)
{
self waittill("damage",var_00,var_01,var_02,var_03,var_04);
if(common_scripts\utility::flag("no_ai_tv_damage"))
{
if(!isalive(var_01))
{
continue;
}
if(!isplayer(var_01))
{
continue;
}
}
break;
}
if(isdefined(level.tvhook))
{
[[ level.tvhook ]]();
}
self notify("off");
if(isdefined(self.usetrig))
{
self.usetrig notify("death");
}
self setmodel(self.damagemodel);
if(isdefined(self.lite))
{
self.lite setlightintensity(0);
}
playfxontag(level.breakables_fx["tv_explode"],self,"tag_fx");
self playsound("tv_shot_burst");
if(isdefined(self.usetrig))
{
self.usetrig delete();
}
}
//Function Number: 6
glass_logic()
{
var_00 = undefined;
var_01 = undefined;
var_02 = undefined;
var_03 = 0;
if(isdefined(self.target))
{
var_02 = getent(self.target,"targetname");
}
if(isdefined(self.script_linkto))
{
var_04 = common_scripts\utility::get_links();
var_05 = getent(var_04[0],"script_linkname");
self linkto(var_05);
}
switch(self.destructible_type)
{
case "glass_large":
break;
case "glass_med":
break;
case "glass_small":
break;
default:
break;
}
if(isdefined(var_02))
{
var_03 = 99;
var_02 linkto(self);
var_02 hide();
var_01 = var_02 setcontents(0);
}
if(isdefined(self.script_health))
{
var_03 = self.script_health;
}
else if(isdefined(var_02))
{
var_03 = 99;
}
else
{
var_03 = 250;
}
self setcandamage(1);
while(var_03 > 0)
{
self waittill("damage",var_06,var_07,var_00,var_08,var_09);
if(!isdefined(var_00))
{
var_00 = (0,0,1);
}
if(!isdefined(var_09))
{
var_06 = 100000;
continue;
}
if(var_09 == "MOD_GRENADE_SPLASH")
{
var_06 = var_06 * 1.75;
continue;
}
if(var_09 == "MOD_IMPACT")
{
var_06 = 100000;
}
var_03 = var_03 - var_06;
}
var_0A = var_03 * -1;
self hide();
self notsolid();
if(isdefined(var_02))
{
var_02 show();
var_02 setcandamage(1);
var_03 = 200 - var_0A;
var_02 setcontents(var_01);
while(var_03 > 0)
{
var_02 waittill("damage",var_06,var_0B,var_00,var_08,var_09);
if(!isdefined(var_00))
{
var_00 = (0,0,1);
}
if(!isdefined(var_09))
{
var_06 = 100000;
continue;
}
if(var_09 == "MOD_GRENADE_SPLASH")
{
var_06 = var_06 * 1.75;
continue;
}
if(var_09 == "MOD_IMPACT")
{
break;
}
var_03 = var_03 - var_06;
}
var_02 delete();
}
glass_play_break_fx(self getorigin(),self.destructible_type,var_00);
self delete();
}
//Function Number: 7
glass_play_break_fx(param_00,param_01,param_02)
{
thread common_scripts\utility::play_sound_in_space(level._glass_info[param_01]["breaksnd"],param_00);
playfx(level._glass_info[param_01]["breakfx"],param_00,param_02);
level notify("glass_shatter");
}
//Function Number: 8
oil_spill_think()
{
self.end = common_scripts\utility::getstruct(self.target,"targetname");
self.start = common_scripts\utility::getstruct(self.end.target,"targetname");
self.barrel = getclosestent(self.start.origin,getentarray("explodable_barrel","targetname"));
if(isdefined(self.barrel))
{
self.barrel.oilspill = 1;
thread oil_spill_burn_after();
}
self.extra = getent(self.target,"targetname");
self setcandamage(1);
for(;;)
{
self waittill("damage",var_00,var_01,var_02,var_03,var_04);
if(var_04 == "MOD_MELEE" || var_04 == "MOD_IMPACT")
{
continue;
}
self.damageowner = var_01;
playfx(level.breakables_fx["oilspill"]["spark"],var_03,var_02);
var_03 = pointonsegmentnearesttopoint(self.start.origin,self.end.origin,var_03);
thread oil_spill_burn_section(var_03);
thread oil_spill_burn(var_03,self.start.origin);
thread oil_spill_burn(var_03,self.end.origin);
break;
}
if(isdefined(self.barrel))
{
self.barrel waittill("exploding");
}
self.extra delete();
self hide();
wait 10;
self delete();
}
//Function Number: 9
oil_spill_burn_after()
{
for(;;)
{
self.barrel waittill("damage",var_00,var_01,var_02,var_03,var_04);
if(var_04 == "MOD_MELEE" || var_04 == "MOD_IMPACT")
{
continue;
}
self.damageowner = var_01;
break;
}
self radiusdamage(self.start.origin,4,10,10,self.damageowner);
}
//Function Number: 10
oil_spill_burn(param_00,param_01)
{
var_02 = vectornormalize(param_01 - param_00);
var_03 = distance(param_00,param_01);
var_04 = 8;
var_05 = var_02 * var_04;
var_06 = vectortoangles(var_02);
var_07 = anglestoright(var_06);
var_08 = getentarray("explodable_barrel","targetname");
var_09 = 484;
var_0A = spawn("script_origin",param_00);
var_0B = 0;
for(;;)
{
var_03 = var_03 - var_04;
if(var_03 < var_04 * 0.1)
{
break;
}
param_00 = param_00 + var_05 + var_07 * randomfloatrange(-6,6);
thread oil_spill_burn_section(param_00);
var_0B++;
if(var_0B == 4)
{
badplace_cylinder("",0.5,param_00,64,64);
var_0B = 0;
}
var_0A.origin = param_00;
var_0C = [];
var_08 = common_scripts\utility::array_removeundefined(var_08);
for(var_0D = 0;var_0D < var_08.size;var_0D++)
{
var_0E = anglestoup(var_08[var_0D].angles);
var_0F = var_08[var_0D].origin + var_0E * 22;
var_10 = physicstrace(var_0F,var_0F + (0,0,-64));
if(distancesquared(param_00,var_10) < var_09)
{
var_0C[var_0C.size] = var_08[var_0D];
var_08[var_0D] dodamage(80 + randomfloat(10),param_00);
}
}
for(var_0D = 0;var_0D < var_0C.size;var_0D++)
{
var_08 = common_scripts\utility::array_remove(var_08,var_0C[var_0D]);
}
wait 0.1;
}
if(!isdefined(self.barrel))
{
return;
}
if(distance(param_00,self.start.origin) < 32)
{
self.barrel dodamage(80 + randomfloat(10),param_00);
}
}
//Function Number: 11
oil_spill_burn_section(param_00)
{
var_01 = 0;
var_02 = 0;
playfx(level.breakables_fx["oilspill"]["burn"],param_00);
}
//Function Number: 12
explodable_barrel_think()
{
if(self.classname != "script_model")
{
return;
}
if(!isdefined(level.precachemodeltype["com_barrel_benzin"]))
{
level.precachemodeltype["com_barrel_benzin"] = 1;
precachemodel("com_barrel_piece");
precachemodel("com_barrel_piece2");
}
self endon("exploding");
breakable_clip();
xenon_auto_aim();
self.damagetaken = 0;
self setcandamage(1);
for(;;)
{
var_00 = undefined;
var_01 = undefined;
var_02 = undefined;
var_03 = undefined;
var_04 = undefined;
self waittill("damage",var_00,var_01,var_02,var_03,var_04);
if(var_04 == "MOD_MELEE" || var_04 == "MOD_IMPACT")
{
continue;
}
self.damageowner = var_01;
if(level.barrelexplodingthisframe)
{
wait randomfloat(1);
}
self.damagetaken = self.damagetaken + var_00;
if(self.damagetaken == var_00)
{
thread explodable_barrel_burn();
}
}
}
//Function Number: 13
explodable_barrel_burn()
{
var_00 = 0;
var_01 = 0;
var_02 = anglestoup(self.angles);
var_03 = anglestoup((0,90,0));
var_04 = vectordot(var_02,var_03);
var_05 = (0,0,0);
var_06 = var_02 * 44;
if(var_04 < 0.5)
{
var_05 = var_02 * 22 - (0,0,30);
var_06 = var_02 * 22 + (0,0,14);
}
while(self.damagetaken < level.var_1DE1)
{
if(!var_01)
{
playfx(level.breakables_fx["barrel"]["burn_start"],self.origin + var_05);
var_01 = 1;
}
if(var_00 > 19)
{
var_00 = 0;
}
playfx(level.breakables_fx["barrel"]["burn"],self.origin + var_06);
if(var_00 == 0)
{
self.damagetaken = self.damagetaken + 10 + randomfloat(10);
badplace_cylinder("",1,self.origin,128,250);
}
var_00++;
wait 0.05;
if(!isdefined(self))
{
return;
}
}
self.damagetaken = undefined;
thread explodable_barrel_explode();
}
//Function Number: 14
explodable_barrel_explode()
{
self notify("exploding");
self notify("death");
var_00 = anglestoup(self.angles);
var_01 = anglestoup((0,90,0));
var_02 = vectordot(var_00,var_01);
var_03 = (0,0,0);
if(var_02 < 0.5)
{
var_04 = self.origin + var_00 * 22;
var_05 = physicstrace(var_04,var_04 + (0,0,-64));
var_03 = var_05 - self.origin;
}
var_03 = var_03 + (0,0,4);
level thread common_scripts\utility::play_sound_in_space(level.tv_lite_array,self.origin);
playfx(level.breakables_fx["barrel"]["explode"],self.origin + var_03);
physicsexplosionsphere(self.origin + var_03,100,80,1);
level.barrelexplodingthisframe = 1;
if(isdefined(self.remove))
{
if(common_scripts\utility::issp() && self.remove.spawnflags & 1)
{
self.remove connectpaths();
}
self.remove delete();
}
var_06 = 1;
var_07 = 250;
var_08 = 250;
if(isdefined(self.radius))
{
var_08 = self.radius;
}
var_09 = undefined;
if(isdefined(self.damageowner))
{
var_09 = self.damageowner;
if(isplayer(var_09))
{
maps\_utility::arcademode_kill(self.origin,"rifle",150);
}
self.damageowner = undefined;
}
level.lastexplodingbarrel["time"] = gettime();
level.lastexplodingbarrel["origin"] = self.origin + (0,0,30);
level.lastexplodingbarrel["radius"] = var_08;
self radiusdamage(self.origin + (0,0,30),var_08,var_07,var_06,var_09);
if(randomint(2) == 0)
{
self setmodel("com_barrel_piece");
}
else
{
self setmodel("com_barrel_piece2");
}
if(var_02 < 0.5)
{
var_04 = self.origin + var_00 * 22;
var_0A = physicstrace(var_04,var_04 + (0,0,-64));
self.origin = var_0A;
self.angles = self.angles + (0,0,90);
}
wait 0.05;
level.barrelexplodingthisframe = 0;
}
//Function Number: 15
shuddering_entity_think()
{
var_00 = 0;
if(self.model == "prop_helmet_german_normandy")
{
var_00 = 1;
}
self setcandamage(1);
for(;;)
{
self waittill("damage",var_01,var_02,var_03,var_04);
if(var_00)
{
self vibrate(var_03,20,0.6,0.75);
}
else
{
self vibrate(var_03,0.4,0.4,0.4);
}
self waittill("rotatedone");
}
}
//Function Number: 16
tincan_think()
{
if(self.classname != "script_model")
{
return;
}
self setcandamage(1);
self waittill("damage",var_00,var_01);
if(isai(var_01) || isplayer(var_01))
{
var_02 = var_01 geteye() - (0,0,randomint(50) + 50);
}
else
{
var_02 = var_02.origin;
}
var_03 = vectornormalize(self.origin - var_02);
var_03 = var_03 * 0.5 + randomfloat(1);
self notify("death");
playfx(level.breakables_fx["tincan"],self.origin,var_03);
self delete();
}
//Function Number: 17
helmet_pop()
{
if(self.classname != "script_model")
{
return;
}
xenon_auto_aim();
self setcandamage(1);
thread helmet_logic();
}
//Function Number: 18
helmet_logic()
{
self waittill("damage",var_00,var_01);
if(isai(var_01))
{
var_02 = var_01 geteye();
}
else
{
var_02 = var_02.origin;
}
var_03 = vectornormalize(self.origin - var_02);
if(!isdefined(self.dontremove) && isplayer(var_01))
{
thread animscripts/death::func_ED0(var_03);
return;
}
self notsolid();
self hide();
var_04 = spawn("script_model",self.origin + (0,0,5));
var_04.angles = self.angles;
var_04 setmodel(self.model);
var_04 thread animscripts/death::func_ED0(var_03);
self.dontremove = 0;
self notify("ok_remove");
}
//Function Number: 19
allowbreak(param_00)
{
if(!isdefined(level.breakingents))
{
return 1;
}
if(level.breakingents.size == 0)
{
return 0;
}
else
{
for(var_01 = 0;var_01 < level.breakingents.size;var_01++)
{
if(param_00 == level.breakingents[var_01])
{
return 1;
}
}
return 0;
}
return 1;
}
//Function Number: 20
breakable_think_triggered(param_00)
{
for(;;)
{
self waittill("trigger",var_01);
param_00 notify("damage",100,var_01);
}
}
//Function Number: 21
breakable_think()
{
if(self.classname != "script_model")
{
return;
}
if(!isdefined(self.model))
{
return;
}
var_00 = undefined;
if(self.model == "egypt_prop_vase1" || self.model == "egypt_prop_vase3" || self.model == "egypt_prop_vase4")
{
if(!isdefined(level.precachemodeltype["egypt_prop_vase_o"]))
{
level.precachemodeltype["egypt_prop_vase_o"] = 1;
precachemodel("egypt_prop_vase_br2");
precachemodel("egypt_prop_vase_br5");
precachemodel("egypt_prop_vase_br7");
}
var_00 = "orange vase";
breakable_clip();
xenon_auto_aim();
}
else if(self.model == "egypt_prop_vase2" || self.model == "egypt_prop_vase5" || self.model == "egypt_prop_vase6")
{
if(!isdefined(level.precachemodeltype["egypt_prop_vase_g"]))
{
level.precachemodeltype["egypt_prop_vase_g"] = 1;
precachemodel("egypt_prop_vase_br1");
precachemodel("egypt_prop_vase_br3");
precachemodel("egypt_prop_vase_br4");
precachemodel("egypt_prop_vase_br6");
}
var_00 = "green vase";
breakable_clip();
xenon_auto_aim();
}
else if(self.model == "prop_crate_dak1" || self.model == "prop_crate_dak2" || self.model == "prop_crate_dak3" || self.model == "prop_crate_dak4" || self.model == "prop_crate_dak5" || self.model == "prop_crate_dak6" || self.model == "prop_crate_dak7" || self.model == "prop_crate_dak8" || self.model == "prop_crate_dak9")
{
if(!isdefined(level.precachemodeltype["prop_crate_dak_shard"]))
{
level.precachemodeltype["prop_crate_dak_shard"] = 1;
precachemodel("prop_crate_dak_shard");
}
var_00 = "wood box";
breakable_clip();
xenon_auto_aim();
}
else if(self.model == "prop_winebottle_breakable")
{
if(!isdefined(level.precachemodeltype["prop_winebottle"]))
{
level.precachemodeltype["prop_winebottle"] = 1;
precachemodel("prop_winebottle_broken_top");
precachemodel("prop_winebottle_broken_bot");
}
var_00 = "bottle";
xenon_auto_aim();
}
else if(self.model == "prop_diningplate_roundfloral")
{
if(!isdefined(level.precachemodeltype["prop_diningplate_brokenfloral"]))
{
level.precachemodeltype["prop_diningplate_brokenfloral"] = 1;
precachemodel("prop_diningplate_brokenfloral1");
precachemodel("prop_diningplate_brokenfloral2");
precachemodel("prop_diningplate_brokenfloral3");
precachemodel("prop_diningplate_brokenfloral4");
}
var_00 = "plate";
self.plate = "round_floral";
xenon_auto_aim();
}
else if(self.model == "prop_diningplate_roundplain")
{
if(!isdefined(level.precachemodeltype["prop_diningplate_brokenplain"]))
{
level.precachemodeltype["prop_diningplate_brokenplain"] = 1;
precachemodel("prop_diningplate_brokenplain1");
precachemodel("prop_diningplate_brokenplain2");
precachemodel("prop_diningplate_brokenplain3");
precachemodel("prop_diningplate_brokenplain4");
}
var_00 = "plate";
self.plate = "round_plain";
xenon_auto_aim();
}
else if(self.model == "prop_diningplate_roundstack")
{
if(!isdefined(level.precachemodeltype["prop_diningplate_brokenplain"]))
{
level.precachemodeltype["prop_diningplate_brokenplain"] = 1;
precachemodel("prop_diningplate_brokenplain1");
precachemodel("prop_diningplate_brokenplain2");
precachemodel("prop_diningplate_brokenplain3");
precachemodel("prop_diningplate_brokenplain4");
}
if(!isdefined(level.precachemodeltype["prop_diningplate_brokenfloral"]))
{
level.precachemodeltype["prop_diningplate_brokenfloral"] = 1;
precachemodel("prop_diningplate_brokenfloral1");
precachemodel("prop_diningplate_brokenfloral2");
precachemodel("prop_diningplate_brokenfloral3");
precachemodel("prop_diningplate_brokenfloral4");
}
var_00 = "plate";
self.plate = "round_stack";
xenon_auto_aim();
}
else if(self.model == "prop_diningplate_ovalfloral")
{
if(!isdefined(level.precachemodeltype["prop_diningplate_brokenfloral"]))
{
level.precachemodeltype["prop_diningplate_brokenfloral"] = 1;
precachemodel("prop_diningplate_brokenfloral1");
precachemodel("prop_diningplate_brokenfloral2");
precachemodel("prop_diningplate_brokenfloral3");
precachemodel("prop_diningplate_brokenfloral4");
}
var_00 = "plate";
self.plate = "oval_floral";
xenon_auto_aim();
}
else if(self.model == "prop_diningplate_ovalplain")
{
if(!isdefined(level.precachemodeltype["prop_diningplate_brokenplain"]))
{
level.precachemodeltype["prop_diningplate_brokenplain"] = 1;
precachemodel("prop_diningplate_brokenplain1");
precachemodel("prop_diningplate_brokenplain2");
precachemodel("prop_diningplate_brokenplain3");
precachemodel("prop_diningplate_brokenplain4");
}
var_00 = "plate";
self.plate = "oval_plain";
xenon_auto_aim();
}
else if(self.model == "prop_diningplate_ovalstack")
{
if(!isdefined(level.precachemodeltype["prop_diningplate_brokenplain"]))
{
level.precachemodeltype["prop_diningplate_brokenplain"] = 1;
precachemodel("prop_diningplate_brokenplain1");
precachemodel("prop_diningplate_brokenplain2");
precachemodel("prop_diningplate_brokenplain3");
precachemodel("prop_diningplate_brokenplain4");
}
if(!isdefined(level.precachemodeltype["prop_diningplate_brokenfloral"]))
{
level.precachemodeltype["prop_diningplate_brokenfloral"] = 1;
precachemodel("prop_diningplate_brokenfloral1");
precachemodel("prop_diningplate_brokenfloral2");
precachemodel("prop_diningplate_brokenfloral3");
precachemodel("prop_diningplate_brokenfloral4");
}
var_00 = "plate";
self.plate = "oval_stack";
xenon_auto_aim();
}
if(!isdefined(var_00))
{
return;
}
if(isdefined(self.target))
{
var_01 = getent(self.target,"targetname");
if(isdefined(var_01) && var_01.classname == "trigger_multiple")
{
var_01 thread breakable_think_triggered(self);
}
}
self setcandamage(1);
thread breakable_logic(var_00);
}
//Function Number: 22
breakable_logic(param_00)
{
var_01 = undefined;
for(;;)
{
self waittill("damage",var_02,var_01);
if(isdefined(var_01) && var_01.code_classname == "script_vehicle")
{
var_01 joltbody(self.origin + (0,0,-90),0.2);
}
if(param_00 == "wood box")
{
if(!allowbreak(var_01))
{
continue;
}
if(!isdefined(level.flags) || !isdefined(level.flags["Breakable Boxes"]))
{
break;
}
if(isdefined(level.flags["Breakable Boxes"]) && level.flags["Breakable Boxes"] == 1)
{
break;
}
continue;
}
break;
}
self notify("death");
var_03 = undefined;
var_04 = undefined;
var_05 = 0;
switch(param_00)
{
case "green vase":
case "orange vase":
var_03 = "bullet_large_vase";
var_04 = level.breakables_fx["vase"];
break;
case "wood box":
if(isdefined(level.crateimpactsound))
{
var_03 = level.crateimpactsound;
}
else
{
var_03 = "bullet_large_vase";
}
var_04 = level.breakables_fx["box"][randomint(level.breakables_fx["box"].size)];
var_05 = 1;
break;
case "bottle":
var_03 = "bullet_small_bottle";
var_04 = level.breakables_fx["bottle"];
break;
case "plate":
var_03 = "bullet_small_plate";
break;
}
thread common_scripts\utility::play_sound_in_space(var_03,self.origin);
thread make_broken_peices(self,param_00);
if(isdefined(var_04))
{
playfx(var_04,self.origin);
}
if(var_05)
{
var_06 = getentarray("breakable","targetname");
for(var_07 = 0;var_07 < var_06.size;var_07++)
{
var_08 = var_06[var_07];
var_09 = abs(self.origin[0] - var_08.origin[0]);
var_0A = abs(self.origin[1] - var_08.origin[1]);
if(var_09 <= 20 && var_0A <= 20)
{
var_0B = self.origin[2] - var_08.origin[2];
if(var_0B <= 0)
{
var_08 notify("damage",var_02,var_01);
}
}
}
}
if(isdefined(self.remove))
{
self.remove connectpaths();
self.remove delete();
}
if(!isdefined(self.dontremove))
{
self delete();
}
else
{
self.dontremove = 0;
}
self notify("ok_remove");
}
//Function Number: 23
xenon_auto_aim()
{
if(isdefined(level.console_auto_aim_2nd) && level.console_auto_aim_2nd.size > 0)
{
self.autoaim = getclosestaccurantent(self.origin,level.console_auto_aim_2nd);
}
if(isdefined(self.autoaim))
{
level.console_auto_aim_2nd = common_scripts\utility::array_remove(level.console_auto_aim_2nd,self.autoaim);
thread xenon_remove_auto_aim();
}
}
//Function Number: 24
xenon_auto_aim_stop_logic()
{
self notify("entered_xenon_auto_aim_stop_logic");
self endon("entered_xenon_auto_aim_stop_logic");
self.autoaim waittill("xenon_auto_aim_stop_logic");
self.dontremove = undefined;
}
//Function Number: 25
xenon_remove_auto_aim(param_00)
{
thread xenon_auto_aim_stop_logic();
self endon("xenon_auto_aim_stop_logic");
self.autoaim endon("xenon_auto_aim_stop_logic");
self notify("xenon_remove_auto_aim");
self.autoaim thread xenon_enable_auto_aim(param_00);
self.dontremove = 1;
self waittill("damage",var_01,var_02);
self.autoaim disableaimassist();
self.autoaim delete();
if(self.dontremove)
{
self waittill("ok_remove");
}
self delete();
}
//Function Number: 26
xenon_enable_auto_aim(param_00)
{
self endon("xenon_auto_aim_stop_logic");
self endon("death");
if(!isdefined(param_00))
{
param_00 = 1;
}
if(isdefined(self.script_noteworthy) && param_00)
{
var_01 = "enable_xenon_autoaim_" + self.script_noteworthy;
level waittill(var_01);
}
self.wait_message = 0;
if(isdefined(self.recreate) && self.recreate == 1)
{
self waittill("recreate");
}
self enableaimassist();
}
//Function Number: 27
breakable_clip()
{
if(isdefined(self.target))
{
var_00 = getent(self.target,"targetname");
if(var_00.classname == "script_brushmodel")
{
self.remove = var_00;
return;
}
}
if(isdefined(level.breakables_clip) && level.breakables_clip.size > 0)
{
self.remove = getclosestent(self.origin,level.breakables_clip);
}
if(isdefined(self.remove))
{
level.breakables_clip = common_scripts\utility::array_remove(level.breakables_clip,self.remove);
}
}
//Function Number: 28
make_broken_peices(param_00,param_01)
{
var_02 = anglestoright(param_00.angles);
var_03 = anglestoforward(param_00.angles);
var_04 = anglestoup(param_00.angles);
var_05 = [];
switch(param_01)
{
case "orange vase":
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,3,2,0,param_01,(0,0,0),"egypt_prop_vase_br5")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,12,10,27,param_01,(0,180,0),"egypt_prop_vase_br7")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,13,-6,28,param_01,(0,245.1,0),"egypt_prop_vase_br7")
var_7B[var_05.size]
addpiece(var_02,var_03,var_04,-7,0,22,param_00,(0,0,0),"egypt_prop_vase_br2")
break;
case "green vase":
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,3,1,0,param_01,(0,0,0),"egypt_prop_vase_br4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,6,13,29,param_01,(0,153.5,0),"egypt_prop_vase_br6")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,12,1,31,param_01,(0,348.5,0),"egypt_prop_vase_br3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-6,-1,26,param_01,(0,0,0),"egypt_prop_vase_br1")
break;
case "wood box":
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-10,10,5,param_01,(180,270,0),"prop_crate_dak_shard")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-10,-10,5,param_01,(180,180,0),"prop_crate_dak_shard")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,10,-10,5,param_01,(180,90,0),"prop_crate_dak_shard")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,10,10,5,param_01,(180,0,0),"prop_crate_dak_shard")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-10,-10,25,param_01,(0,270,0),"prop_crate_dak_shard")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,10,-10,25,param_01,(0,180,0),"prop_crate_dak_shard")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,10,10,25,param_01,(0,90,0),"prop_crate_dak_shard")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-10,10,25,param_01,(0,0,0),"prop_crate_dak_shard")
break;
case "bottle":
var_7B[var_7B.size - 1].type = "bottle_top";
var_7B[var_7B.size - 1].type = "bottle_bot";
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,0,0,0,param_01,(0,0,0),"prop_winebottle_broken_bot")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,0,0,10,param_01,(0,0,0),"prop_winebottle_broken_top")
break;
case "plate":
switch(param_01.plate)
{
case "round_floral":
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-4,2,0.5,param_01,(0,146.8,0),"prop_diningplate_brokenfloral4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,1,2,0.5,param_01,(0,150.2,0),"prop_diningplate_brokenfloral3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,3,-2,0.5,param_01,(0,149.8,0),"prop_diningplate_brokenfloral2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-3,-4,0.5,param_01,(0,150,0),"prop_diningplate_brokenfloral1")
break;
case "round_plain":
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-4,2,0.5,param_01,(0,146.8,0),"prop_diningplate_brokenplain4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,1,2,0.5,param_01,(0,150.2,0),"prop_diningplate_brokenplain3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,3,-2,0.5,param_01,(0,149.8,0),"prop_diningplate_brokenplain2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-3,-4,0.5,param_01,(0,150,0),"prop_diningplate_brokenplain1")
break;
case "round_stack":
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-4,2,4.5,param_01,(0,146.8,0),"prop_diningplate_brokenfloral4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,1,2,4.5,param_01,(0,150.2,0),"prop_diningplate_brokenfloral3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,3,-2,4.5,param_01,(0,149.8,0),"prop_diningplate_brokenfloral2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-3,-4,4.5,param_01,(0,150,0),"prop_diningplate_brokenfloral1")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,2,4,2.5,param_01,(0,56.8,0),"prop_diningplate_brokenplain4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,2,-1,2.5,param_01,(0,60.2,0),"prop_diningplate_brokenplain3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-1,-3,2.5,param_01,(0,59.8,0),"prop_diningplate_brokenplain2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-4,3,2.5,param_01,(0,60,0),"prop_diningplate_brokenplain1")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-4,2,0.5,param_01,(0,146.8,0),"prop_diningplate_brokenfloral4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,1,2,0.5,param_01,(0,150.2,0),"prop_diningplate_brokenfloral3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,3,-2,0.5,param_01,(0,149.8,0),"prop_diningplate_brokenfloral2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-3,-4,0.5,param_01,(0,150,0),"prop_diningplate_brokenfloral1")
break;
case "oval_floral":
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-3,-3,0.5,param_01,(0,246.7,0),"prop_diningplate_brokenfloral4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-2,5,0.5,param_01,(0,102.3,0),"prop_diningplate_brokenfloral4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,4,2,0.5,param_01,(0,150.2,0),"prop_diningplate_brokenfloral3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-6,1,0.5,param_01,(0,352.2,0),"prop_diningplate_brokenfloral2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,4,-4,0.5,param_01,(0,205.9,0),"prop_diningplate_brokenfloral1")
break;
case "oval_plain":
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-3,-3,0.5,param_01,(0,246.7,0),"prop_diningplate_brokenplain4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-2,5,0.5,param_01,(0,102.3,0),"prop_diningplate_brokenplain4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,4,2,0.5,param_01,(0,150.2,0),"prop_diningplate_brokenplain3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-6,1,0.5,param_01,(0,352.2,0),"prop_diningplate_brokenplain2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,4,-4,0.5,param_01,(0,205.9,0),"prop_diningplate_brokenplain1")
break;
case "oval_stack":
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
var_7B[var_7B.size - 1].type = "plate";
break;
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,3,4,2.5,param_01,(0,66.7,0),"prop_diningplate_brokenplain4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,2,-4,2.5,param_01,(0,282.3,0),"prop_diningplate_brokenplain4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-4,-1,2.5,param_01,(0,330.2,0),"prop_diningplate_brokenplain3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,6,0,2.5,param_01,(0,172.2,0),"prop_diningplate_brokenplain2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-4,5,2.5,param_01,(0,25.9,0),"prop_diningplate_brokenplain1")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-3,-3,0.5,param_01,(0,246.7,0),"prop_diningplate_brokenfloral4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-2,5,0.5,param_01,(0,102.3,0),"prop_diningplate_brokenfloral4")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,4,2,0.5,param_01,(0,150.2,0),"prop_diningplate_brokenfloral3")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,-6,1,0.5,param_01,(0,352.2,0),"prop_diningplate_brokenfloral2")
var_7B[var_7B.size]
addpiece(var_03,var_04,var_05,4,-4,0.5,param_01,(0,205.9,0),"prop_diningplate_brokenfloral1")
break;
}
break;
default:
break;
}
common_scripts\utility::array_thread(var_7B,::pieces_move,param_01.origin);
if(isdefined(level.var_1DE0[var_02]) && level.var_1DE0[var_02] == 1)
{
var_06 = var_7B[0].origin[2];
for(var_07 = 0;var_07 < var_7B.size;var_07++)
{
if(var_06 > var_7B[var_07].origin[2])
{
var_06 = var_7B[var_07].origin[2];
}
}
common_scripts\utility::array_thread(var_7B,::pieces_collision,var_06);
return;
}
wait 2;
for(var_07 = 0;var_07 < var_7B.size;var_07++)
{
if(isdefined(var_7B[var_07]))
{
var_7B[var_07] delete();
}
}
}
//Function Number: 29
list_add(param_00)
{
if(isdefined(level._breakable_utility_modelarray[level._breakable_utility_modelindex]))
{
level._breakable_utility_modelarray[level._breakable_utility_modelindex] delete();
}
level._breakable_utility_modelarray[level._breakable_utility_modelindex] = param_00;
level._breakable_utility_modelindex++;
if(!level._breakable_utility_modelindex < level._breakable_utility_maxnum)
{
level._breakable_utility_modelindex = 0;
}
}
//Function Number: 30
pieces_move(param_00)
{
self endon("do not kill");
if(isdefined(self.type) && self.type == "bottle_bot")
{
return;
}
var_01 = spawn("script_origin",self.origin);
self linkto(var_01);
var_02 = self.origin + (randomfloat(10) - 5,randomfloat(10) - 5,randomfloat(10) + 5);
var_03 = undefined;
if(isdefined(self.type) && self.type == "bottle_top")
{
var_03 = (randomfloat(40) - 20,randomfloat(40) - 20,70 + randomfloat(15));
var_04 = 1;
var_05 = 1;
var_06 = 1;
if(randomint(100) > 50)
{
var_04 = -1;
}
if(randomint(100) > 50)
{
var_05 = -1;
}
if(randomint(100) > 50)
{
var_06 = -1;
}
var_01 rotatevelocity((250 * var_04,250 * var_05,randomfloat(100) * var_06),2,0,0.5);
}
else if(isdefined(self.type) && self.type == "plate")
{
var_03 = vectornormalize(var_02 - param_00);
var_03 = var_03 * 125 + randomfloat(25);
if(randomint(100) > 50)
{
var_01 rotateroll(800 + randomfloat(4000) * -1,5,0,0);
}
else
{
var_01 rotateroll(800 + randomfloat(4000),5,0,0);
}
}
else
{
var_03 = vectornormalize(var_02 - param_00);
var_03 = var_03 * 60 + randomfloat(50);
if(randomint(100) > 50)
{
var_01 rotateroll(800 + randomfloat(1000) * -1,5,0,0);
}
else
{
var_01 rotateroll(800 + randomfloat(1000),5,0,0);
}
}
var_01 movegravity(var_03,5);
wait 5;
if(isdefined(self))
{
self unlink();
}
var_01 delete();
}
//Function Number: 31
pieces_collision(param_00)
{
self endon("death");
wait 0.1;
var_01 = bullettrace(self.origin,self.origin - (0,0,50000),0,undefined);
var_02 = var_01["position"];
while(self.origin[2] > var_02[2])
{
wait 0.05;
}
self unlink();
self.origin = (self.origin[0],self.origin[1],var_02[2]);
self notify("do not kill");
self unlink();
}
//Function Number: 32
addpiece(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
var_09 = 1;
var_0A = param_00;
var_0B = param_01;
var_0C = param_02;
var_0A = var_0A * param_04 * var_09;
var_0B = var_0B * param_03 * var_09;
var_0C = var_0C * param_05 * var_09;
var_0D = param_06.origin + var_0A + var_0B + var_0C;
var_0E = spawn("script_model",var_0D);
var_0E setmodel(param_08);
var_0E.modelscale = var_09;
var_0E.angles = param_06.angles + param_07;
list_add(var_0E);
return var_0E;
}
//Function Number: 33
getfurthestent(param_00,param_01)
{
if(param_01.size < 1)
{
return;
}
var_02 = distance(param_01[0] getorigin(),param_00);
var_03 = param_01[0];
for(var_04 = 0;var_04 < param_01.size;var_04++)
{
var_05 = distance(param_01[var_04] getorigin(),param_00);
if(var_05 < var_02)
{
continue;
}
var_02 = var_05;
var_03 = param_01[var_04];
}
return var_03;
}
//Function Number: 34
getclosestent(param_00,param_01)
{
if(param_01.size < 1)
{
return;
}
var_02 = 256;
var_03 = undefined;
for(var_04 = 0;var_04 < param_01.size;var_04++)
{
var_05 = distance(param_01[var_04] getorigin(),param_00);
if(var_05 >= var_02)
{
continue;
}
var_02 = var_05;
var_03 = param_01[var_04];
}
return var_03;
}
//Function Number: 35
getclosestaccurantent(param_00,param_01)
{
if(param_01.size < 1)
{
return;
}
var_02 = 8;
var_03 = undefined;
for(var_04 = 0;var_04 < param_01.size;var_04++)
{
var_05 = distance(param_01[var_04] getorigin(),param_00);
if(var_05 >= var_02)
{
continue;
}
var_02 = var_05;
var_03 = param_01[var_04];
}
return var_03;
}
//Function Number: 36
getclosestaiment(param_00,param_01)
{
if(param_01.size < 1)
{
return;
}
var_02 = 1000000;
var_03 = undefined;
for(var_04 = 0;var_04 < param_01.size;var_04++)
{
var_05 = distance(param_01[var_04] getorigin(),param_00);
if(var_05 >= var_02)
{
continue;
}
var_02 = var_05;
var_03 = param_01[var_04];
}
return var_03;
}