mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
3010 lines
70 KiB
Plaintext
3010 lines
70 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 1271.gsc
|
|
* Game: Call of Duty: WWII
|
|
* Platform: PC
|
|
* Function Count: 134
|
|
* Decompile Time: 257 ms
|
|
* Timestamp: 10/27/2023 3:24:14 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_533C()
|
|
{
|
|
level.raidtriggermovespeedscale = 0.2;
|
|
level.var_79BF = [];
|
|
var_00 = lib_0502::func_2548("raid_door");
|
|
var_01 = var_00 lib_0502::func_2548("open_trigger",::func_793C);
|
|
var_02 = var_00 lib_0502::func_2548("locked_trigger",::func_79A3);
|
|
var_03 = var_00 lib_0502::func_2548("lockpick_trigger",::func_79A4);
|
|
var_04 = var_00 lib_0502::func_2548("explosive_trigger",::func_7968);
|
|
var_04 lib_0502::func_2548("explosive_model",::func_7964);
|
|
var_04 lib_0502::func_2548("explosive_model_cant_use",::func_7965);
|
|
var_04 lib_0502::func_2548("fx_on_trigger",::lib_0502::func_207B);
|
|
var_04 lib_0502::func_2548("objective",::lib_0502::func_2080);
|
|
var_05 = var_00 lib_0502::func_2548("door_clip",::func_793A);
|
|
var_05 lib_0502::func_2548("link",::lib_0502::func_2084);
|
|
var_05 lib_0502::func_2548("close_pos",::lib_0502::func_2081);
|
|
var_05 lib_0502::func_2548("open_pos",::lib_0502::func_2080);
|
|
var_05 lib_0502::func_2548("explode_open_pos",::lib_0502::func_2080);
|
|
var_05 lib_0502::func_2548("lockpick_open_pos",::lib_0502::func_2080);
|
|
var_06 = lib_0502::func_2548("raid_wall",::raidwallfullinit);
|
|
var_04 = var_06 lib_0502::func_2548("explosive_trigger",::raidexplosivetriggerstartfull);
|
|
var_04 lib_0502::func_2548("explosive_model",::raidexplosivemodelstartfull);
|
|
var_04 lib_0502::func_2548("explosive_model_cant_use",::func_7965);
|
|
var_04 lib_0502::func_2548("delete_on_trigger",::lib_0502::func_207A);
|
|
var_04 lib_0502::func_2548("physics_launch_on_trigger",::lib_0502::func_2087);
|
|
var_04 lib_0502::func_2548("show_on_trigger",::lib_0502::func_2088);
|
|
var_04 lib_0502::func_2548("fx_on_trigger",::lib_0502::func_207B);
|
|
var_04 lib_0502::func_2548("objective",::lib_0502::func_2080);
|
|
var_04 lib_0502::func_2548("build_static",::func_7A13);
|
|
var_04 lib_0502::func_2548("destroyed",::raidwalldestroyedpartstartfull);
|
|
var_07 = var_06 lib_0502::func_2548("repair_trigger",::raidrepairtriggerstartfull);
|
|
var_07 lib_0502::func_2548("repair_model",::raidwallrepairmodelstartfull);
|
|
var_07 lib_0502::func_2548("show_on_trigger",::lib_0502::func_2088);
|
|
var_06 lib_0502::func_2548("cant_use_trigger",::func_7962);
|
|
var_06 lib_0502::func_2548("build_static",::raidwallstaticbuildpartstartfull);
|
|
var_08 = var_06 lib_0502::func_2548("build_animated",::raidwallanimatedstartfull);
|
|
var_09 = var_08 lib_0502::func_2548("build_animated_clip",::func_5293);
|
|
var_09 lib_0502::func_2548("full_pos",::lib_0502::func_2081);
|
|
var_09 lib_0502::func_2548("half_pos",::lib_0502::func_2080);
|
|
var_0A = var_08 lib_0502::func_2548("mantle_brush");
|
|
var_06 lib_0502::func_2548("bomb_traversal_start");
|
|
var_06 lib_0502::func_2548("mantle_traversal_start");
|
|
var_06 lib_0502::func_2548("delete_on_load",::raidwalldeleteonload);
|
|
var_06 = lib_0502::func_2548("raid_wall_destroyed",::func_7A03);
|
|
var_04 = var_06 lib_0502::func_2548("explosive_trigger",::func_7969);
|
|
var_04 lib_0502::func_2548("explosive_model",::func_7966);
|
|
var_04 lib_0502::func_2548("explosive_model_cant_use",::func_7965);
|
|
var_04 lib_0502::func_2548("delete_on_trigger",::lib_0502::func_207A);
|
|
var_04 lib_0502::func_2548("physics_launch_on_trigger",::lib_0502::func_2087);
|
|
var_04 lib_0502::func_2548("show_on_trigger",::lib_0502::func_2088);
|
|
var_04 lib_0502::func_2548("fx_on_trigger",::lib_0502::func_207B);
|
|
var_04 lib_0502::func_2548("objective",::lib_0502::func_2080);
|
|
var_04 lib_0502::func_2548("build_static",::func_7A14);
|
|
var_04 lib_0502::func_2548("destroyed",::raidwalldestroyedpartstartdestroyed);
|
|
var_07 = var_06 lib_0502::func_2548("repair_trigger",::func_79C0);
|
|
var_07 lib_0502::func_2548("repair_model",::func_7A12);
|
|
var_07 lib_0502::func_2548("show_on_trigger",::lib_0502::func_2088);
|
|
var_06 lib_0502::func_2548("cant_use_trigger",::func_7962);
|
|
var_06 lib_0502::func_2548("build_static",::func_7A14);
|
|
var_0B = var_06 lib_0502::func_2548("mesh_sheen",::raidwallstaticsheensetup);
|
|
var_08 = var_06 lib_0502::func_2548("build_animated",::func_79FF);
|
|
var_09 = var_08 lib_0502::func_2548("build_animated_clip",::func_5293);
|
|
var_09 lib_0502::func_2548("full_pos",::lib_0502::func_2081);
|
|
var_09 lib_0502::func_2548("half_pos",::lib_0502::func_2080);
|
|
var_0A = var_08 lib_0502::func_2548("mantle_brush");
|
|
var_0C = var_08 lib_0502::func_2548("destroyed_clip");
|
|
var_06 lib_0502::func_2548("bomb_traversal_start");
|
|
var_06 lib_0502::func_2548("mantle_traversal_start");
|
|
var_06 lib_0502::func_2548("ladder_traversal_start",::raidwallladdertraversalstartdestroyed);
|
|
var_06 lib_0502::func_2548("build_ladder_traversal_start",::raidwallbuildladdertraversalstartdestroyed);
|
|
var_06 lib_0502::func_2548("delete_on_load",::raidwalldeleteonload);
|
|
var_06 = lib_0502::func_2548("raid_wall_half",::raidwallhalfinit);
|
|
var_04 = var_06 lib_0502::func_2548("explosive_trigger",::raidexplosivetriggerstarthalf);
|
|
var_04 lib_0502::func_2548("explosive_model",::raidexplosivemodelstarthalf);
|
|
var_04 lib_0502::func_2548("explosive_model_cant_use",::func_7965);
|
|
var_04 lib_0502::func_2548("delete_on_trigger",::lib_0502::func_207A);
|
|
var_04 lib_0502::func_2548("physics_launch_on_trigger",::lib_0502::func_2087);
|
|
var_04 lib_0502::func_2548("show_on_trigger",::lib_0502::func_2088);
|
|
var_04 lib_0502::func_2548("fx_on_trigger",::lib_0502::func_207B);
|
|
var_04 lib_0502::func_2548("objective",::lib_0502::func_2080);
|
|
var_04 lib_0502::func_2548("build_static",::raidwallstaticbuildpartstarthalf);
|
|
var_04 lib_0502::func_2548("destroyed",::raidwalldestroyedpartstarthalf);
|
|
var_07 = var_06 lib_0502::func_2548("repair_trigger",::raidrepairtriggerstarthalf);
|
|
var_07 lib_0502::func_2548("repair_model",::raidwallrepairmodelstarthalf);
|
|
var_07 lib_0502::func_2548("show_on_trigger",::lib_0502::func_2088);
|
|
var_06 lib_0502::func_2548("cant_use_trigger",::func_7962);
|
|
var_06 lib_0502::func_2548("build_static",::raidwallstaticbuildpartstarthalf);
|
|
var_08 = var_06 lib_0502::func_2548("build_animated",::raidwallanimatedstarthalf);
|
|
var_09 = var_08 lib_0502::func_2548("build_animated_clip",::func_5293);
|
|
var_09 lib_0502::func_2548("full_pos",::lib_0502::func_2081);
|
|
var_09 lib_0502::func_2548("half_pos",::lib_0502::func_2080);
|
|
var_0A = var_08 lib_0502::func_2548("mantle_brush");
|
|
var_06 lib_0502::func_2548("bomb_traversal_start");
|
|
var_06 lib_0502::func_2548("mantle_traversal_start");
|
|
var_06 lib_0502::func_2548("delete_on_load",::raidwalldeleteonload);
|
|
var_0D = lib_0502::func_2548("raid_foxhole_filled",::func_7973);
|
|
var_0D lib_0502::func_2548("trigger",::func_7976);
|
|
var_0D lib_0502::func_2548("raid_foxhole_stage0_geo",::func_796E);
|
|
var_0D lib_0502::func_2548("raid_foxhole_stage1_geo",::func_796D);
|
|
var_0D lib_0502::func_2548("stage0_model",::func_7972);
|
|
var_0D lib_0502::func_2548("stage1_model",::func_796F);
|
|
var_0D lib_0502::func_2548("stage2_model",::func_796F);
|
|
var_0D = lib_0502::func_2548("raid_foxhole_midway",::func_7974);
|
|
var_0D lib_0502::func_2548("trigger",::func_7976);
|
|
var_0D lib_0502::func_2548("raid_foxhole_stage0_geo",::func_796D);
|
|
var_0D lib_0502::func_2548("raid_foxhole_stage1_geo",::func_796E);
|
|
var_0D lib_0502::func_2548("stage0_model",::func_796F);
|
|
var_0D lib_0502::func_2548("stage1_model",::func_7972);
|
|
var_0D lib_0502::func_2548("stage2_model",::func_796F);
|
|
var_0D = lib_0502::func_2548("raid_foxhole_dug",::func_7975);
|
|
var_0D lib_0502::func_2548("trigger",::func_7976);
|
|
var_0D lib_0502::func_2548("raid_foxhole_stage0_geo",::func_796D);
|
|
var_0D lib_0502::func_2548("raid_foxhole_stage1_geo",::func_796D);
|
|
var_0D lib_0502::func_2548("stage0_model",::func_796F);
|
|
var_0D lib_0502::func_2548("stage1_model",::func_796F);
|
|
var_0D lib_0502::func_2548("stage2_model",::func_7972);
|
|
var_0E = lib_0502::func_2548("raid_barbed_wire",::func_7A1D);
|
|
var_0E lib_0502::func_2548("expand_trigger",::func_7A1C);
|
|
var_0E lib_0502::func_2548("wire",::func_7A1A);
|
|
var_0E lib_0502::func_2548("slow_trigger",::func_7A1F);
|
|
var_0E lib_0502::func_2548("shrink_trigger",::func_7A1E);
|
|
var_0E lib_0502::func_2548("arrow",::func_7A1B);
|
|
var_0E lib_0502::func_2548("repair_model");
|
|
var_0F = lib_0502::func_2548("barbed_wire_animated",::raidwireanimated);
|
|
var_0F lib_0502::func_2548("trigger",::raidwireanimatedtrigger);
|
|
var_0F lib_0502::func_2548("model",::raidwireanimatedmodel);
|
|
var_0F lib_0502::func_2548("slow_trigger",::func_7A1F);
|
|
var_0F lib_0502::func_2548("ghost_model",::raidwireanimatedghostmodel);
|
|
var_0F lib_0502::func_2548("explosive_model",::raidwireanimatedexplosivemodel);
|
|
var_0F lib_0502::func_2548("animated_model",::raidwireanimatedanimatedmodel);
|
|
var_10 = lib_0502::func_2548("raid_sliding_door",::raidslidingdoor);
|
|
var_05 = var_10 lib_0502::func_2548("clip",::func_79C7);
|
|
var_05 lib_0502::func_2548("trigger",::func_79C8);
|
|
var_05 lib_0502::func_2548("link",::lib_0502::func_2084);
|
|
var_05 lib_0502::func_2548("open_pos",::lib_0502::func_2081);
|
|
var_05 lib_0502::func_2548("close_pos",::lib_0502::func_2080);
|
|
var_10 lib_0502::func_2548("open_door_traversal_start");
|
|
var_10 lib_0502::func_2548("mantle_traversal_start");
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_7970(param_00,param_01)
|
|
{
|
|
param_00.var_914B = param_01;
|
|
param_00.var_2F16 = 0;
|
|
param_00.var_2F0C = "down";
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_7973(param_00)
|
|
{
|
|
func_7970(param_00,0);
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_7974(param_00)
|
|
{
|
|
func_7970(param_00,1);
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_7975(param_00)
|
|
{
|
|
func_7970(param_00,2);
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_7976(param_00)
|
|
{
|
|
var_01 = 0;
|
|
var_02 = (0,0,0);
|
|
for(;;)
|
|
{
|
|
if(self.var_914B == 0)
|
|
{
|
|
var_03 = &"RAIDS_USE_DIG_FOXHOLE";
|
|
}
|
|
else if(self.var_914B == 2)
|
|
{
|
|
var_03 = &"RAIDS_USE_FILL_FOXHOLE";
|
|
}
|
|
else if(self.var_2F0C == "down")
|
|
{
|
|
var_03 = &"RAIDS_USE_DIG_FOXHOLE";
|
|
}
|
|
else
|
|
{
|
|
var_03 = &"RAIDS_USE_FILL_FOXHOLE";
|
|
}
|
|
|
|
lib_0502::func_79E1(param_00,var_03,3,8,var_01);
|
|
var_04 = param_00.var_A240;
|
|
var_04 maps\mp\gametypes\_gameobjects::func_86EC("none");
|
|
var_04 maps\mp\gametypes\_gameobjects::func_8A60("any");
|
|
var_04.var_502A = "raidDigFoxhole";
|
|
var_04.var_A248 = "war_dynamite_mp";
|
|
var_04.var_113F = 0;
|
|
var_04.var_7894 = 1;
|
|
param_00 waittill("trigger",var_05,var_06,var_07);
|
|
if(self.var_914B == 0)
|
|
{
|
|
self.var_914B = 1;
|
|
self.var_2F0C = "down";
|
|
}
|
|
else if(self.var_914B == 1)
|
|
{
|
|
if(self.var_2F0C == "down")
|
|
{
|
|
self.var_914B = 2;
|
|
}
|
|
else if(self.var_2F0C == "up")
|
|
{
|
|
self.var_914B = 0;
|
|
}
|
|
}
|
|
else if(self.var_914B == 2)
|
|
{
|
|
self.var_914B--;
|
|
self.var_2F0C = "up";
|
|
}
|
|
|
|
func_7971();
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_7971()
|
|
{
|
|
switch(self.var_914B)
|
|
{
|
|
case 0:
|
|
func_7972(self.var_982D["stage0_model"][0]);
|
|
func_796F(self.var_982D["stage1_model"][0]);
|
|
func_796F(self.var_982D["stage2_model"][0]);
|
|
func_7972(self.var_982D["raid_foxhole_stage0_geo"][0]);
|
|
func_796F(self.var_982D["raid_foxhole_stage1_geo"][0]);
|
|
break;
|
|
|
|
case 1:
|
|
func_796F(self.var_982D["stage0_model"][0]);
|
|
func_7972(self.var_982D["stage1_model"][0]);
|
|
func_796F(self.var_982D["stage2_model"][0]);
|
|
func_796F(self.var_982D["raid_foxhole_stage0_geo"][0]);
|
|
func_7972(self.var_982D["raid_foxhole_stage1_geo"][0]);
|
|
break;
|
|
|
|
case 2:
|
|
func_796F(self.var_982D["stage0_model"][0]);
|
|
func_796F(self.var_982D["stage1_model"][0]);
|
|
func_7972(self.var_982D["stage2_model"][0]);
|
|
func_796F(self.var_982D["raid_foxhole_stage0_geo"][0]);
|
|
func_796F(self.var_982D["raid_foxhole_stage1_geo"][0]);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_796B(param_00)
|
|
{
|
|
var_01 = playerphysicstrace(param_00.var_116 + (0,0,60),param_00.var_116,param_00);
|
|
param_00 setorigin(var_01);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_796C(param_00)
|
|
{
|
|
param_00.var_A049 = 1;
|
|
param_00.var_A045 = ::func_796B;
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_796D(param_00)
|
|
{
|
|
func_796C(param_00);
|
|
param_00 lib_0502::func_7997();
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_796E(param_00)
|
|
{
|
|
func_796C(param_00);
|
|
param_00 lib_0502::func_79C6();
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_796F(param_00)
|
|
{
|
|
param_00 lib_0502::func_7997();
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_7972(param_00)
|
|
{
|
|
param_00 lib_0502::func_79C6();
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_793B(param_00)
|
|
{
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_01,var_02);
|
|
switch(var_01)
|
|
{
|
|
case "lockpick":
|
|
case "open":
|
|
case "explode":
|
|
waittillframeend;
|
|
param_00 delete();
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_793C(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
thread func_793B(param_00);
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_OPEN");
|
|
param_00 waittill("used",var_01);
|
|
self notify("trigger","open",var_01);
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_79A3(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
thread func_793B(param_00);
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_OPEN");
|
|
for(;;)
|
|
{
|
|
param_00 waittill("used",var_01);
|
|
var_01 iclientprintlnbold("Locked");
|
|
lib_04F3::func_79CB("ammo_crate_use",param_00.var_116);
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_79A4(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
thread func_793B(param_00);
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_LOCK_PICK",10,&"RAIDS_USING_LOCK_PICK");
|
|
param_00 waittill("used",var_01);
|
|
var_01 iclientprintlnbold("Lock Picked");
|
|
self notify("trigger","lockpick",var_01);
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_793A(param_00)
|
|
{
|
|
param_00.var_2949 = param_00.var_982D["close_pos"][0];
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_01,var_02);
|
|
switch(var_01)
|
|
{
|
|
case "lockpick":
|
|
lib_0502::func_64D5(param_00,"lockpick_open_pos",1);
|
|
break;
|
|
|
|
case "explode":
|
|
lib_0502::func_64D5(param_00,"explode_open_pos",0.1);
|
|
break;
|
|
|
|
case "open":
|
|
lib_0502::func_64D5(param_00,"open_pos",0.5);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_7A08(param_00,param_01)
|
|
{
|
|
param_00.var_5708 = param_01 == 1;
|
|
param_00.var_2F16 = 0;
|
|
param_00.var_6210 = undefined;
|
|
param_00.var_2599 = param_01 == 0;
|
|
if(isdefined(param_00.var_81EF))
|
|
{
|
|
var_02 = getentarray(param_00.var_81EF,"script_linkname");
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(isdefined(var_04) && var_04.var_3A == "misc_turret")
|
|
{
|
|
param_00.var_9EDD = var_04;
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_04) && var_04.var_3A == "trigger_multiple")
|
|
{
|
|
param_00.death_trigger = var_04;
|
|
}
|
|
}
|
|
}
|
|
|
|
lib_0502::func_1D39(param_00);
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_7A03(param_00)
|
|
{
|
|
func_7A08(param_00,2);
|
|
}
|
|
|
|
//Function Number: 21
|
|
raidwallfullinit(param_00)
|
|
{
|
|
func_7A08(param_00,0);
|
|
}
|
|
|
|
//Function Number: 22
|
|
raidwallhalfinit(param_00)
|
|
{
|
|
func_7A08(param_00,1);
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_7968(param_00,param_01)
|
|
{
|
|
param_00 endon("disable_explode");
|
|
var_02 = param_01 == 2 || param_01 == 1;
|
|
var_03 = 0;
|
|
var_04 = (0,0,0);
|
|
if(isdefined(param_00.var_982D["objective"]) && param_00.var_982D["objective"].size)
|
|
{
|
|
var_03 = 1;
|
|
var_04 = param_00.var_982D["objective"][0].var_116 - param_00.var_116;
|
|
}
|
|
|
|
if(common_scripts\utility::func_562E(var_02))
|
|
{
|
|
param_00 sethintstring("");
|
|
param_00 makeunusable();
|
|
self waittillmatch("repaired","trigger");
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
param_00 makeusable();
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_PLACE_EXPLOSIVE",3,8,var_03);
|
|
var_05 = param_00.var_A240;
|
|
var_05 maps\mp\gametypes\_gameobjects::func_86EC("none");
|
|
var_05 maps\mp\gametypes\_gameobjects::func_8A60("any");
|
|
var_05.var_502A = "raidPlantExplosive";
|
|
if(isdefined(self.var_1A5) && self.var_1A5 == "shingle" || self.var_1A5 == "barbed_wire")
|
|
{
|
|
var_05.var_A248 = "war_bangalore_mp";
|
|
}
|
|
else
|
|
{
|
|
var_05.var_A248 = "war_dynamite_mp";
|
|
}
|
|
|
|
var_05.var_A23C = 0;
|
|
var_05.var_113F = 0;
|
|
var_05.var_7894 = 1;
|
|
if(var_03)
|
|
{
|
|
var_05 maps\mp\gametypes\_gameobjects::func_860A("friendly","waypoint_defend");
|
|
var_05 maps\mp\gametypes\_gameobjects::func_860E("friendly","waypoint_defend");
|
|
var_05 maps\mp\gametypes\_gameobjects::func_860A("enemy","waypoint_target");
|
|
var_05 maps\mp\gametypes\_gameobjects::func_860E("enemy","waypoint_target");
|
|
}
|
|
|
|
thread func_796A(param_00,"explosive_planted");
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_06,var_07,var_08);
|
|
if((var_06 == "explosive_planted" && var_08 == param_00) || var_06 == "explode")
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_06 == "explode")
|
|
{
|
|
self notify("stopRaidExplosiveTriggerUsedWait");
|
|
param_00 sethintstring("");
|
|
param_00 makeunusable();
|
|
self waittillmatch("repaired","trigger");
|
|
continue;
|
|
}
|
|
|
|
thread func_7967(param_00,var_07);
|
|
param_00 sethintstring("");
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_06,var_07,var_08);
|
|
if(var_06 == "explode")
|
|
{
|
|
self notify("stopRaidExplosiveTriggerUsedWait");
|
|
param_00 sethintstring("");
|
|
param_00 makeunusable();
|
|
self waittillmatch("repaired","trigger");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_7969(param_00)
|
|
{
|
|
func_7968(param_00,2);
|
|
}
|
|
|
|
//Function Number: 25
|
|
raidexplosivetriggerstartfull(param_00)
|
|
{
|
|
func_7968(param_00,0);
|
|
}
|
|
|
|
//Function Number: 26
|
|
raidexplosivetriggerstarthalf(param_00)
|
|
{
|
|
func_7968(param_00,1);
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_796A(param_00,param_01)
|
|
{
|
|
self endon("stopRaidExplosiveTriggerUsedWait");
|
|
param_00 waittill("used",var_02);
|
|
self notify("trigger",param_01,var_02,param_00);
|
|
param_00 notify(param_01);
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_7967(param_00,param_01)
|
|
{
|
|
self endon("stop_timer");
|
|
var_02 = 5;
|
|
if(isdefined(param_01) && param_01 maps\mp\_utility::func_649("specialty_improvedobjectives"))
|
|
{
|
|
var_02 = 2.5;
|
|
}
|
|
|
|
var_03 = gettime() + var_02 * 1000;
|
|
var_04 = 0;
|
|
while(var_03 > gettime())
|
|
{
|
|
if(var_04 != 0)
|
|
{
|
|
lib_04F3::func_79CB("dynamite_timer_tick",param_00.var_116);
|
|
}
|
|
else
|
|
{
|
|
lib_04F3::func_79CB("dynamite_timer_tock",param_00.var_116);
|
|
}
|
|
|
|
var_04 = var_04 + 1 % 2;
|
|
var_05 = var_03 - gettime() / 1000;
|
|
var_06 = 0.05;
|
|
if(var_05 > 2)
|
|
{
|
|
var_06 = 0.5;
|
|
}
|
|
else if(var_05 > 1)
|
|
{
|
|
var_06 = 0.25;
|
|
}
|
|
|
|
maps\mp\gametypes\_hostmigration::func_A783(var_06);
|
|
if(isdefined(level.var_4E09))
|
|
{
|
|
var_07 = maps\mp\gametypes\_hostmigration::func_A782();
|
|
var_03 = var_03 + var_07;
|
|
}
|
|
}
|
|
|
|
maps\mp\gametypes\_hostmigration::func_A782();
|
|
thread func_7963(param_00,undefined,param_01,0);
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_7963(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = param_00.var_982D["explosive_model"][0];
|
|
if(!common_scripts\utility::func_562E(param_03))
|
|
{
|
|
var_05 = var_04.var_116 + vectornormalize(anglestoright(var_04.var_1D)) * 15;
|
|
if(isdefined(param_02))
|
|
{
|
|
param_00 entityradiusdamage(var_05,150,180,80,param_02,"MOD_EXPLOSIVE","bomb_site_mp");
|
|
}
|
|
else
|
|
{
|
|
param_00 entityradiusdamage(var_05,150,180,80,undefined,"MOD_EXPLOSIVE","bomb_site_mp");
|
|
}
|
|
}
|
|
|
|
self notify("stop_timer");
|
|
if(isdefined(param_01) && isdefined(param_01.var_A240))
|
|
{
|
|
param_01.var_A240 notify("disabled");
|
|
}
|
|
|
|
if(isdefined(param_00) && isdefined(param_00.var_A240))
|
|
{
|
|
param_00.var_A240 thread func_2F6E();
|
|
}
|
|
|
|
self.var_2599 = 0;
|
|
self notify("trigger","explode",param_02,param_00,param_03);
|
|
if(isdefined(param_02))
|
|
{
|
|
if(!common_scripts\utility::func_562E(param_03))
|
|
{
|
|
lib_0506::func_166E(param_02,"wall_destroyed");
|
|
}
|
|
|
|
if(lib_0502::func_21AC(self,param_02))
|
|
{
|
|
lib_0502::func_7923(param_02);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_2F6E()
|
|
{
|
|
self notify("disabled");
|
|
waittillframeend;
|
|
maps\mp\gametypes\_gameobjects::func_2D58();
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_7964(param_00,param_01)
|
|
{
|
|
level.var_611["raid_door_explode"] = loadfx("vfx/map/mp_raid_cobra/raid_wall_breach_mp");
|
|
var_02 = param_01 == 2 || param_01 == 1;
|
|
var_03 = param_00.var_982E;
|
|
param_00.var_6A55 = param_00 method_85A0();
|
|
if(common_scripts\utility::func_562E(var_02))
|
|
{
|
|
param_00 lib_0502::func_7997();
|
|
}
|
|
|
|
param_00 thread maps\mp\gametypes\_damage::func_8676(10,"standard_nosound",::func_7A01,::lib_0502::func_1D37,0);
|
|
param_00 setcandamage(0);
|
|
param_00.var_C2E = 1;
|
|
var_04 = undefined;
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_05,var_06,var_07,var_08);
|
|
switch(var_05)
|
|
{
|
|
case "explode":
|
|
if(var_07 == var_03 && !common_scripts\utility::func_562E(var_08))
|
|
{
|
|
lib_04F3::func_79CB("mp_war_bomb_explo",param_00.var_116);
|
|
var_09 = "default";
|
|
if(isdefined(param_00.var_8260))
|
|
{
|
|
var_09 = param_00.var_8260;
|
|
}
|
|
|
|
switch(var_09)
|
|
{
|
|
case "brick":
|
|
playfx(common_scripts\utility::func_44F5("raid_wall_mp"),param_00.var_116,anglestoforward(param_00.var_1D + (0,-90,0)));
|
|
break;
|
|
|
|
case "sand":
|
|
playfx(common_scripts\utility::func_44F5("raid_sand_breach_mp"),param_00.var_116,anglestoforward(param_00.var_1D + (-30,-90,0)));
|
|
break;
|
|
|
|
default:
|
|
playfx(common_scripts\utility::func_44F5("raid_door_explode"),param_00.var_116,anglestoforward(param_00.var_1D + (0,-90,0)));
|
|
break;
|
|
}
|
|
}
|
|
|
|
param_00 lib_0502::func_7997();
|
|
param_00 setcandamage(0);
|
|
if(isdefined(var_04))
|
|
{
|
|
var_04 delete();
|
|
}
|
|
|
|
if(isdefined(self.var_8260) && self.var_8260 == "raid_wall_single_destroy")
|
|
{
|
|
var_0A = param_00.var_982E.var_982E.var_982D["bomb_traversal_start"];
|
|
if(isdefined(var_0A))
|
|
{
|
|
func_2FC5(var_0A);
|
|
param_00.var_982E.var_982E.var_982D["bomb_traversal_start"] = undefined;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case "explosive_planted":
|
|
if(var_07 == var_03)
|
|
{
|
|
var_0B = 5;
|
|
if(isdefined(var_06) && var_06 maps\mp\_utility::func_649("specialty_improvedobjectives"))
|
|
{
|
|
var_0B = 2.5;
|
|
}
|
|
|
|
var_04 = magicgrenademanual("war_dynamite_mp",param_00.var_116,(0,0,0),var_0B + 1);
|
|
var_04 method_8449(param_00);
|
|
if(param_00.var_106 == "par_dynamite_01_sheen")
|
|
{
|
|
param_00 setmodel("par_dynamite_01");
|
|
}
|
|
|
|
if(param_00.var_106 == "npc_usa_bangalore_base_sheen")
|
|
{
|
|
param_00 setmodel("npc_usa_bangalore_war");
|
|
}
|
|
else
|
|
{
|
|
param_00 setmodel("par_dynamite_01");
|
|
}
|
|
|
|
param_00 setcandamage(1);
|
|
param_00.var_706B = var_06.var_1A7;
|
|
lib_0502::func_7D5C(param_00);
|
|
badplace_cylinder("war_dynamite_mp_" + param_00 getentitynumber(),var_0B + 1,param_00.var_116,300,300,"allies","axis");
|
|
var_07 thread lib_0502::func_8A18(param_00);
|
|
}
|
|
break;
|
|
|
|
case "explosive_defused":
|
|
case "repaired":
|
|
if(param_00.var_106 == "par_dynamite_01")
|
|
{
|
|
param_00 setmodel("par_dynamite_01_sheen");
|
|
}
|
|
|
|
if(param_00.var_106 == "npc_usa_bangalore_base")
|
|
{
|
|
param_00 setmodel("npc_usa_bangalore_base_sheen");
|
|
}
|
|
else
|
|
{
|
|
param_00 setmodel("par_dynamite_01_sheen");
|
|
}
|
|
|
|
param_00 lib_0502::func_79C6();
|
|
param_00 setcandamage(0);
|
|
if(isdefined(var_04))
|
|
{
|
|
var_04 delete();
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_7966(param_00)
|
|
{
|
|
func_7964(param_00,2);
|
|
}
|
|
|
|
//Function Number: 33
|
|
raidexplosivemodelstartfull(param_00)
|
|
{
|
|
func_7964(param_00,0);
|
|
}
|
|
|
|
//Function Number: 34
|
|
raidexplosivemodelstarthalf(param_00)
|
|
{
|
|
func_7964(param_00,1);
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_7965(param_00)
|
|
{
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_7962(param_00)
|
|
{
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 37
|
|
raidwalldeleteonload(param_00)
|
|
{
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_2F87(param_00,param_01)
|
|
{
|
|
param_00 endon("deleted");
|
|
for(;;)
|
|
{
|
|
self waittillmatch(param_01,"trigger");
|
|
param_00 notify("disabled");
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_79BF(param_00,param_01)
|
|
{
|
|
param_00 endon("disable_repair");
|
|
level.var_79BF[level.var_79BF.size] = param_00;
|
|
var_02 = param_01 == 2 || param_01 == 1;
|
|
var_03 = (0,0,0);
|
|
var_04 = self.var_982D["repair_trigger"];
|
|
foreach(var_06 in var_04)
|
|
{
|
|
var_03 = var_03 + var_06.var_116;
|
|
}
|
|
|
|
var_03 = var_03 / var_04.size;
|
|
lib_0502::func_1D3A(var_03,!var_02);
|
|
for(;;)
|
|
{
|
|
if(!common_scripts\utility::func_562E(var_02))
|
|
{
|
|
lib_0502::func_1D3B(self.var_2599);
|
|
param_00 makeunusable();
|
|
param_00 sethintstring("");
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_08,var_09,var_0A);
|
|
if(var_08 == "explode")
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_02 = 0;
|
|
param_00 makeusable();
|
|
var_0B = 7;
|
|
if(common_scripts\utility::func_562E(self.nohalfstate))
|
|
{
|
|
var_0B = 6;
|
|
}
|
|
|
|
lib_0502::func_79E1(param_00,&"RAIDS_REPAIR_USE",5,var_0B);
|
|
param_00.var_A240 maps\mp\gametypes\_gameobjects::func_86EC("none");
|
|
param_00.var_A240.var_502A = "raidRepair";
|
|
param_00.var_A240.var_A248 = "war_hammer_assemble_mp";
|
|
param_00.var_A240.var_A23C = 0;
|
|
if(!isdefined(param_00.var_8260) && param_00.var_8260 == "dontSaveProgress")
|
|
{
|
|
param_00.var_A240.var_5F95 = 1;
|
|
}
|
|
|
|
param_00.var_A240.var_113F = 0;
|
|
param_00.var_A240.var_7894 = 1;
|
|
thread func_2F87(param_00.var_A240,"explode");
|
|
lib_0502::func_1D3B(self.var_2599);
|
|
param_00 waittill("used",var_09);
|
|
if(lib_0502::func_21AC(self,var_09))
|
|
{
|
|
lib_0502::func_7922(var_09);
|
|
}
|
|
|
|
lib_0506::func_166E(var_09,"wall_built");
|
|
self.var_2599 = 1;
|
|
self notify("trigger","repaired",var_09,param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_79C0(param_00)
|
|
{
|
|
func_79BF(param_00,2);
|
|
}
|
|
|
|
//Function Number: 41
|
|
raidrepairtriggerstartfull(param_00)
|
|
{
|
|
func_79BF(param_00,0);
|
|
}
|
|
|
|
//Function Number: 42
|
|
raidrepairtriggerstarthalf(param_00)
|
|
{
|
|
func_79BF(param_00,1);
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_7A13(param_00,param_01)
|
|
{
|
|
param_00 endon("death");
|
|
var_02 = param_01 == 2 || param_01 == 1;
|
|
var_03 = self.var_982D["repair_trigger"];
|
|
var_04 = lib_0502::func_207D("bomb_traversal_start");
|
|
self.var_56FC = 1;
|
|
for(;;)
|
|
{
|
|
if(!common_scripts\utility::func_562E(var_02))
|
|
{
|
|
if(!isdefined(param_00.var_8260) && param_00.var_8260 == "noDamage")
|
|
{
|
|
thread func_7A15(param_00);
|
|
}
|
|
|
|
self waittillmatch("explode","trigger");
|
|
foreach(var_06 in var_03)
|
|
{
|
|
var_06 makeusable();
|
|
}
|
|
|
|
param_00 setcandamage(0);
|
|
param_00 notify("end_damageWatch");
|
|
}
|
|
|
|
var_02 = 0;
|
|
lib_0502::func_985E(param_00,game["attackers"]);
|
|
param_00 lib_0502::func_7997();
|
|
self.var_56FC = 0;
|
|
func_7A0B(param_00,undefined,var_04);
|
|
self waittillmatch("repaired","trigger");
|
|
foreach(var_06 in var_03)
|
|
{
|
|
var_06 makeunusable();
|
|
}
|
|
|
|
param_00 lib_0502::func_79C6();
|
|
self.var_56FC = 1;
|
|
func_7A09(param_00,undefined,var_04);
|
|
}
|
|
}
|
|
|
|
//Function Number: 44
|
|
raidwallladdertraversalstartdestroyed(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
var_01 = param_00;
|
|
var_02 = getnode(param_00.var_1A2,"targetname");
|
|
for(;;)
|
|
{
|
|
disconnectnodepair(var_01,var_02,1);
|
|
self waittillmatch("repaired","trigger");
|
|
connectnodepair(var_01,var_02,1);
|
|
self waittillmatch("explode","trigger");
|
|
}
|
|
}
|
|
|
|
//Function Number: 45
|
|
raidwallbuildladdertraversalstartdestroyed(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
var_01 = param_00;
|
|
var_02 = getnode(param_00.var_1A2,"targetname");
|
|
for(;;)
|
|
{
|
|
connectnodepair(var_01,var_02,1);
|
|
self waittillmatch("repaired","trigger");
|
|
disconnectnodepair(var_01,var_02,1);
|
|
self waittillmatch("explode","trigger");
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_5293(param_00)
|
|
{
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_79FF(param_00)
|
|
{
|
|
func_79FB(param_00,2);
|
|
}
|
|
|
|
//Function Number: 48
|
|
raidwallanimatedstartfull(param_00)
|
|
{
|
|
func_79FB(param_00,0);
|
|
}
|
|
|
|
//Function Number: 49
|
|
raidwallanimatedstarthalf(param_00)
|
|
{
|
|
func_79FB(param_00,1);
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_79FB(param_00,param_01)
|
|
{
|
|
param_00 endon("death");
|
|
if(param_00.var_106 == "mp_raid_breakable_wall")
|
|
{
|
|
var_02 = "mp_raids_wall_full_destroy";
|
|
var_03 = "mp_raids_wall_full_repair";
|
|
var_04 = "mp_raids_wall_full_reverse";
|
|
var_05 = "mp_raids_wall_full2half_destroy";
|
|
var_06 = "mp_raid_breakable_wall";
|
|
var_07 = "mp_raid_breakable_wall_static_half";
|
|
var_08 = "mp_raid_breakable_wall_static_whole_dmg";
|
|
var_09 = "mp_raid_breakable_wall_static_whole_dmg";
|
|
var_0A = "buildable_wall_lp";
|
|
var_0B = "buildable_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "mp_raid_breakable_manor_wall")
|
|
{
|
|
var_02 = "mp_raids_manorwall_full_destroy";
|
|
var_03 = "mp_raids_manorwall_full_repair";
|
|
var_04 = "mp_raids_manorwall_full_reverse";
|
|
var_05 = "mp_raids_manorwall_full2half_destroy";
|
|
var_06 = "mp_raid_breakable_manor_wall";
|
|
var_07 = "mp_raid_breakable_manor_wall_static_half";
|
|
var_08 = "mp_raid_breakable_manor_wall_static_whole";
|
|
var_09 = "mp_raid_breakable_manor_wall_static_whole_dmg";
|
|
var_0A = "buildable_wood_wall_lp";
|
|
var_0B = "buildable_wood_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "mp_raid_ladder_01_broken_rig")
|
|
{
|
|
var_02 = "mp_raids_ladder_destroy";
|
|
var_03 = "mp_raids_ladder_repair";
|
|
var_04 = "mp_raids_ladder_destroy";
|
|
var_05 = undefined;
|
|
var_06 = "mp_raid_ladder_01_broken_rig";
|
|
var_07 = undefined;
|
|
var_08 = "mp_raid_ladder_01";
|
|
var_09 = "mp_raid_ladder_01_broken";
|
|
var_0A = "buildable_wood_wall_lp";
|
|
var_0B = "buildable_wood_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "mp_raid_ladder_03_broken")
|
|
{
|
|
var_02 = "mp_raids_tun_ladder_destroy";
|
|
var_03 = "mp_raids_tun_ladder_repair";
|
|
var_04 = "mp_raids_tun_ladder_destroy";
|
|
var_05 = undefined;
|
|
var_06 = "mp_raid_ladder_03_broken";
|
|
var_07 = undefined;
|
|
var_08 = "mp_raid_ladder_03_broken";
|
|
var_09 = "mp_raid_ladder_03_broken";
|
|
var_0A = "buildable_wood_wall_lp";
|
|
var_0B = "buildable_wood_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "rblg_breakable_log_wall")
|
|
{
|
|
var_02 = "mp_raids_logwall_full_destroy";
|
|
var_03 = "mp_raids_logwall_full_repair";
|
|
var_04 = "mp_raids_logwall_full_reverse";
|
|
var_05 = "mp_raids_logwall_full2half_destroy";
|
|
var_06 = "rblg_breakable_log_wall";
|
|
var_07 = "rblg_breakable_log_wall_static_half";
|
|
var_08 = "rblg_breakable_log_wall_static_whole";
|
|
var_09 = "rblg_breakable_log_wall_static_whole_dmg";
|
|
var_0A = "buildable_wood_wall_lp";
|
|
var_0B = "buildable_wood_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "mp_bunker_door_brick_01_window_01")
|
|
{
|
|
var_02 = "mp_raids_bunkerdoor_window_full_destroy";
|
|
var_03 = "mp_raids_bunkerdoor_window_full_repair";
|
|
var_04 = "mp_raids_bunkerdoor_window_full_reverse";
|
|
var_05 = "mp_raids_bunkerdoor_window_full2half_destroy";
|
|
var_06 = "mp_bunker_door_brick_01_window_01";
|
|
var_07 = "mp_raids_bunker_door_window_01_static_half";
|
|
var_08 = "mp_raids_bunker_door_window_01_static_whole";
|
|
var_09 = "mp_raids_bunker_door_window_01_static_dmg";
|
|
var_0A = "buildable_wall_lp";
|
|
var_0B = "buildable_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "swf_bunker_door_brick_01_window_01")
|
|
{
|
|
var_02 = "mp_raids_dlc4_vaultdoor_full_destroy";
|
|
var_03 = "mp_raids_dlc4_vaultdoor_full_repair";
|
|
var_04 = "mp_raids_dlc4_vaultdoor_full_reverse";
|
|
var_05 = "mp_raids_dlc4_vaultdoor_full2half_destroy";
|
|
var_06 = "swf_bunker_door_brick_01_window_01";
|
|
var_07 = "swf_bunker_door_brick_01_window_01_static_half";
|
|
var_08 = "swf_bunker_door_brick_01_window_01_static_whole";
|
|
var_09 = "swf_bunker_door_brick_01_window_01_static_dmg";
|
|
var_0A = "buildable_wall_lp";
|
|
var_0B = "buildable_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "mp_tun_door_brick_01_window_01")
|
|
{
|
|
var_02 = "mp_raids_bunkerdoor_window_full_destroy";
|
|
var_03 = "mp_raids_bunkerdoor_window_full_repair_b";
|
|
var_04 = "mp_raids_bunkerdoor_window_full_reverse_b";
|
|
var_05 = "mp_raids_bunkerdoor_window_full2half_destroy";
|
|
var_06 = "mp_tun_door_brick_01_window_01";
|
|
var_07 = "mp_raids_tun_door_window_01_static_half";
|
|
var_08 = "mp_raids_tun_door_window_01_static_whole";
|
|
var_09 = "mp_raids_tun_door_window_01_static_dmg";
|
|
var_0A = "buildable_wall_lp";
|
|
var_0B = "buildable_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "hus_door_buildable_wall_01")
|
|
{
|
|
var_02 = "mp_war_husky_door_full_destroy";
|
|
var_03 = "mp_war_husky_door_full_repair";
|
|
var_04 = "mp_war_husky_door_full_reverse";
|
|
var_05 = "mp_war_husky_door_full2half_destroy";
|
|
var_06 = "hus_door_buildable_wall_01";
|
|
var_07 = "hus_door_buildable_wall_static_half";
|
|
var_08 = "hus_door_buildable_wall_static_full";
|
|
var_09 = "hus_door_buildable_wall_static_full_dmg";
|
|
var_0A = "buildable_wall_lp";
|
|
var_0B = "buildable_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "tun_door_buildable_wall_01")
|
|
{
|
|
var_02 = "mp_war_husky_door_full_destroy";
|
|
var_03 = "mp_war_husky_door_full_repair_b";
|
|
var_04 = "mp_war_husky_door_full_reverse_b";
|
|
var_05 = "mp_war_husky_door_full2half_destroy";
|
|
var_06 = "tun_door_buildable_wall_01";
|
|
var_07 = "tun_door_buildable_wall_static_half";
|
|
var_08 = "tun_door_buildable_wall_static_full";
|
|
var_09 = "tun_door_buildable_wall_static_full_dmg";
|
|
var_0A = "buildable_wall_lp";
|
|
var_0B = "buildable_wall_collapse";
|
|
}
|
|
else if(var_0A.var_106 == "tun_guard_tower_01")
|
|
{
|
|
var_02 = "mp_raids_guard_tower_full_destroy";
|
|
var_03 = "mp_raids_guard_tower_full_repair";
|
|
var_04 = "mp_raids_guard_tower_full_reverse";
|
|
var_05 = undefined;
|
|
var_06 = "tun_guard_tower_01";
|
|
var_07 = undefined;
|
|
var_08 = "tun_guard_tower_01";
|
|
var_09 = "tun_guard_tower_01";
|
|
var_0A = "buildable_wood_wall_lp";
|
|
var_0B = "buildable_wood_wall_collapse";
|
|
}
|
|
else
|
|
{
|
|
var_02 = "mp_raids_bunkerdoor_full_destroy";
|
|
var_03 = "mp_raids_bunkerdoor_full_repair";
|
|
var_04 = "mp_raids_bunkerdoor_full_reverse";
|
|
var_05 = "mp_raids_bunkerdoor_full2half_destroy";
|
|
var_06 = "mp_raids_bunker_door_brick_01_des";
|
|
var_07 = "mp_raids_bunker_door_brick_01_static_half";
|
|
var_08 = "mp_raids_bunker_door_brick_01_static_whole";
|
|
var_09 = "mp_raids_bunker_door_brick_01_static_dmg";
|
|
var_0A = "buildable_wall_lp";
|
|
var_0B = "buildable_wall_collapse";
|
|
}
|
|
|
|
if(!isdefined(var_05) || !isdefined(var_07))
|
|
{
|
|
self.nohalfstate = 1;
|
|
}
|
|
|
|
if(isdefined(param_00.var_8260))
|
|
{
|
|
param_00.mesh_anim_sheen = param_00.var_8260;
|
|
param_00.mesh_anim_original = param_00.var_106;
|
|
}
|
|
|
|
waittillframeend;
|
|
if(param_01 == 2)
|
|
{
|
|
param_00 func_7A0C(var_02,undefined,var_06);
|
|
raidwallturrettoggle(0);
|
|
raidwallsheenanimatetoggle(0,param_00);
|
|
raidwallsheentoggle(0);
|
|
raidwalldeathtrigger(0);
|
|
}
|
|
else if(param_01 == 1)
|
|
{
|
|
param_00 func_7A0C(var_05,undefined,var_06);
|
|
lib_0502::func_7D5C(param_00);
|
|
func_79FD(param_00,2);
|
|
}
|
|
|
|
var_0C = param_01 == 2 || param_01 == 1;
|
|
var_0D = param_01 == 1;
|
|
for(;;)
|
|
{
|
|
if(!var_0C)
|
|
{
|
|
func_79FC(param_00,"full");
|
|
raidwallturrettoggle(1);
|
|
raidwallsheenanimatetoggle(1,param_00);
|
|
raidwallsheentoggle(1);
|
|
raidwalldeathtrigger(1);
|
|
lib_0502::func_7D5C(param_00);
|
|
func_79FD(param_00,4,var_09);
|
|
self waittillmatch("explode","trigger");
|
|
param_00.var_93FD = 1;
|
|
param_00 lib_0502::func_793D("drop");
|
|
param_00 func_7A0C(var_02,undefined,var_06);
|
|
}
|
|
|
|
if(!var_0D)
|
|
{
|
|
func_79FC(param_00,"none");
|
|
raidwallturrettoggle(0);
|
|
raidwallsheenanimatetoggle(0,param_00);
|
|
raidwallsheentoggle(0);
|
|
raidwalldeathtrigger(0);
|
|
}
|
|
|
|
var_0C = 0;
|
|
var_0E = 0;
|
|
if(common_scripts\utility::func_562E(self.var_2F16))
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_0F = self.var_982D["repair_trigger"];
|
|
if(!var_0F.size)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!var_0D)
|
|
{
|
|
var_0E = func_7A05(var_0F,param_00,var_03,var_04,var_05,var_06,var_07,var_08,var_0A,var_0B);
|
|
}
|
|
else
|
|
{
|
|
var_10 = var_0F[0].var_A240;
|
|
raidwallrepairtriggersetcurprogress(var_0F,int(var_10.var_A23F / 2));
|
|
}
|
|
|
|
var_0D = 0;
|
|
if(!var_0E)
|
|
{
|
|
func_79FC(param_00,"half");
|
|
raidwallturrettoggle(0);
|
|
raidwallsheenanimatetoggle(0,param_00);
|
|
raidwallsheentoggle(0);
|
|
raidwalldeathtrigger(0);
|
|
lib_0502::func_7D5C(param_00);
|
|
func_79FD(param_00,2);
|
|
thread func_7A07(var_0F,param_00,var_03,var_05,var_04,var_06,var_07,var_08,var_0A,var_0B);
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_11);
|
|
if(var_11 == "explode" || var_11 == "repaired")
|
|
{
|
|
param_00.var_93FD = 1;
|
|
raidwallrepairtriggersetcurprogress(var_0F,0);
|
|
if(var_11 == "explode")
|
|
{
|
|
var_0C = 1;
|
|
param_00 lib_0502::func_793D("drop");
|
|
param_00 func_7A0C(var_02,2.5,undefined,var_06);
|
|
}
|
|
|
|
self notify("stopHalfThink");
|
|
param_00 func_7A17();
|
|
break;
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 51
|
|
raidwallturrettoggle(param_00)
|
|
{
|
|
if(!isdefined(self.var_9EDD))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(param_00 == 1)
|
|
{
|
|
self.var_9EDD method_8132();
|
|
self.var_9EDD method_805B();
|
|
return;
|
|
}
|
|
|
|
var_01 = self.var_9EDD method_80E2();
|
|
if(isplayer(var_01))
|
|
{
|
|
if(var_01 isusingturret())
|
|
{
|
|
var_01 method_85E9();
|
|
}
|
|
}
|
|
|
|
self.var_9EDD method_8133();
|
|
self.var_9EDD method_805C();
|
|
}
|
|
|
|
//Function Number: 52
|
|
raidwallsheenanimatetoggle(param_00,param_01)
|
|
{
|
|
if(isdefined(param_01.mesh_anim_sheen))
|
|
{
|
|
if(param_00 == 1)
|
|
{
|
|
param_01 setmodel(param_01.mesh_anim_original);
|
|
return;
|
|
}
|
|
|
|
param_01 setmodel(param_01.mesh_anim_sheen);
|
|
}
|
|
}
|
|
|
|
//Function Number: 53
|
|
raidwallsheentoggle(param_00)
|
|
{
|
|
var_01 = self.var_982D["mesh_sheen"];
|
|
if(isdefined(var_01))
|
|
{
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(param_00 == 1)
|
|
{
|
|
var_03 setmodel(var_03.mesh_original);
|
|
continue;
|
|
}
|
|
|
|
var_03 setmodel(var_03.mesh_sheen);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 54
|
|
raidwalldeathtrigger(param_00)
|
|
{
|
|
if(!isdefined(self.death_trigger))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = self.death_trigger;
|
|
if(param_00 == 1)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_02 = var_01 getistouchingentities(level.var_744A);
|
|
foreach(var_04 in var_02)
|
|
{
|
|
var_04 dodamage(500,var_04.var_116,undefined,undefined,"MOD_EXPLOSIVE");
|
|
}
|
|
}
|
|
|
|
//Function Number: 55
|
|
raidwallrepairtriggersetcurprogress(param_00,param_01)
|
|
{
|
|
foreach(var_03 in param_00)
|
|
{
|
|
var_04 = var_03.var_A240;
|
|
var_04.var_28D5 = param_01;
|
|
}
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_258A(param_00)
|
|
{
|
|
foreach(var_02 in param_00)
|
|
{
|
|
var_03 = getnode(var_02.var_1A2,"targetname");
|
|
disconnectnodepair(var_02,var_03);
|
|
connectnodepair(var_02,var_03,1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_2FC5(param_00)
|
|
{
|
|
foreach(var_02 in param_00)
|
|
{
|
|
var_03 = getnode(var_02.var_1A2,"targetname");
|
|
disconnectnodepair(var_02,var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_7A09(param_00,param_01,param_02)
|
|
{
|
|
if(param_00 lib_0502::func_56D3())
|
|
{
|
|
if(isdefined(param_02))
|
|
{
|
|
func_258A(param_02);
|
|
if(isdefined(level.var_1B31))
|
|
{
|
|
self [[ level.var_1B31 ]](param_02);
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
func_2FC5(param_01);
|
|
}
|
|
|
|
param_00 method_805F();
|
|
}
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_7A0A(param_00,param_01,param_02)
|
|
{
|
|
if(param_00 lib_0502::func_56D3())
|
|
{
|
|
if(isdefined(param_01))
|
|
{
|
|
func_258A(param_01);
|
|
foreach(var_04 in param_02)
|
|
{
|
|
nodesetinvalidforteam(var_04,game["defenders"],0);
|
|
nodesetinvalidforteam(var_04,game["attackers"],0);
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_02))
|
|
{
|
|
func_2FC5(param_02);
|
|
}
|
|
|
|
param_00 method_805F();
|
|
}
|
|
}
|
|
|
|
//Function Number: 60
|
|
func_7A0B(param_00,param_01,param_02)
|
|
{
|
|
if(param_00 lib_0502::func_56D3())
|
|
{
|
|
param_00 method_8060();
|
|
if(isdefined(param_02))
|
|
{
|
|
func_2FC5(param_02);
|
|
foreach(var_04 in param_02)
|
|
{
|
|
nodesetinvalidforteam(var_04,game["defenders"],0);
|
|
nodesetinvalidforteam(var_04,game["attackers"],0);
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
func_2FC5(param_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 61
|
|
func_79A0(param_00)
|
|
{
|
|
foreach(var_02 in level.var_744A)
|
|
{
|
|
if(var_02 common_scripts\_plant_weapon::func_5855() && isdefined(var_02.var_706D) && var_02.var_706D == param_00)
|
|
{
|
|
var_02 common_scripts\_plant_weapon::forcedismountweapon();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 62
|
|
removecollidingplantedtripwires(param_00)
|
|
{
|
|
if(!isdefined(level.tripwireplantedmodels))
|
|
{
|
|
return;
|
|
}
|
|
|
|
foreach(var_02 in level.tripwireplantedmodels)
|
|
{
|
|
if(isdefined(var_02))
|
|
{
|
|
if(distancesquared(param_00.var_116,var_02.var_116) > 360000)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_02 istouching(param_00) || isdefined(var_02.var_9D65) && var_02.var_9D65 istouching(param_00))
|
|
{
|
|
var_02 notify("tripwire_delete");
|
|
continue;
|
|
}
|
|
|
|
var_03 = var_02.hitdir;
|
|
var_04 = var_02.startpoint;
|
|
var_05 = 0;
|
|
while(var_05 <= 1)
|
|
{
|
|
var_06 = var_04 + var_03 * var_05;
|
|
if(param_00 method_858B(var_06))
|
|
{
|
|
var_02 notify("tripwire_delete");
|
|
break;
|
|
}
|
|
|
|
var_05 = var_05 + 0.05;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 63
|
|
func_79FC(param_00,param_01)
|
|
{
|
|
var_02 = param_00.var_982D["build_animated_clip"];
|
|
var_03 = param_00.var_982D["mantle_brush"];
|
|
var_04 = param_00.var_982D["destroyed_clip"];
|
|
var_05 = param_00.var_982E.var_982D["mantle_traversal_start"];
|
|
var_06 = param_00.var_982E.var_982D["bomb_traversal_start"];
|
|
foreach(var_08 in var_02)
|
|
{
|
|
if(param_01 == "full")
|
|
{
|
|
self.var_5708 = 0;
|
|
self.var_56FC = 1;
|
|
var_08 solid();
|
|
var_08.var_116 = var_08.var_982D["full_pos"][0].var_116;
|
|
if(isdefined(var_04))
|
|
{
|
|
foreach(var_0A in var_04)
|
|
{
|
|
var_0A notsolid();
|
|
var_0A.var_A046 = 0;
|
|
var_0A moveto(var_0A.var_116 - (0,320,0),0.1);
|
|
}
|
|
}
|
|
|
|
func_79A0(var_08);
|
|
func_7A09(var_08,var_05,var_06);
|
|
removecollidingplantedtripwires(var_08);
|
|
var_08 lib_0502::func_793D();
|
|
continue;
|
|
}
|
|
|
|
if(param_01 == "half")
|
|
{
|
|
self.var_5708 = 1;
|
|
self.var_56FC = 0;
|
|
var_08 solid();
|
|
var_08.var_116 = var_08.var_982D["half_pos"][0].var_116;
|
|
if(isdefined(var_04))
|
|
{
|
|
foreach(var_0A in var_04)
|
|
{
|
|
var_0A notsolid();
|
|
var_0A.var_A046 = 0;
|
|
var_0A moveto(var_0A.var_116 - (0,320,0),0.1);
|
|
}
|
|
}
|
|
|
|
func_7A0A(var_08,var_05,var_06);
|
|
removecollidingplantedtripwires(var_08);
|
|
var_08 lib_0502::func_793D();
|
|
continue;
|
|
}
|
|
|
|
var_08 lib_0502::func_793D("drop");
|
|
self.var_5708 = 0;
|
|
self.var_56FC = 0;
|
|
var_08 notsolid();
|
|
if(isdefined(var_04))
|
|
{
|
|
foreach(var_0A in var_04)
|
|
{
|
|
var_0A solid();
|
|
var_0A.var_A046 = 1;
|
|
var_0A moveto(var_0A.var_116 + (0,320,0),0.1);
|
|
}
|
|
}
|
|
|
|
func_7A0B(var_08,var_05,var_06);
|
|
}
|
|
|
|
if(isdefined(var_03))
|
|
{
|
|
foreach(var_12 in var_03)
|
|
{
|
|
if(!isdefined(var_12.var_6C51))
|
|
{
|
|
var_12.var_6C51 = var_12 method_85A0();
|
|
}
|
|
|
|
if(param_01 == "full")
|
|
{
|
|
var_12 notsolid();
|
|
var_12 method_80B1();
|
|
continue;
|
|
}
|
|
|
|
if(param_01 == "half")
|
|
{
|
|
var_12 solid();
|
|
var_12 method_80B0(var_12.var_6C51);
|
|
continue;
|
|
}
|
|
|
|
var_12 notsolid();
|
|
var_12 method_80B1();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 64
|
|
func_6987(param_00,param_01)
|
|
{
|
|
param_01 endon("death");
|
|
param_01 endon("disconnect");
|
|
param_00 endon("endUse");
|
|
while(isdefined(self.var_A248) && param_01 getcurrentweapon() != self.var_A248)
|
|
{
|
|
wait 0.05;
|
|
waittillframeend;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 65
|
|
func_7A18(param_00)
|
|
{
|
|
self endon("beginUse");
|
|
param_00.var_A240 maps\mp\gametypes\_gameobjects::func_C30("any");
|
|
param_00 waittill("beginUse",var_01);
|
|
self notify("beginUse",param_00,var_01);
|
|
}
|
|
|
|
//Function Number: 66
|
|
func_7A00(param_00)
|
|
{
|
|
var_01 = spawnstruct();
|
|
foreach(var_03 in param_00)
|
|
{
|
|
if(isdefined(var_03.var_A240))
|
|
{
|
|
var_01 thread func_7A18(var_03);
|
|
}
|
|
}
|
|
|
|
var_01 waittill("beginUse",var_05,var_06);
|
|
foreach(var_03 in param_00)
|
|
{
|
|
if(var_03 != var_05)
|
|
{
|
|
var_03.var_A240 maps\mp\gametypes\_gameobjects::func_C30("none");
|
|
}
|
|
}
|
|
|
|
return [var_05,var_06];
|
|
}
|
|
|
|
//Function Number: 67
|
|
func_7A05(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
|
|
{
|
|
self endon("stopFullThink");
|
|
var_0A = 0.5;
|
|
if(common_scripts\utility::func_562E(self.nohalfstate))
|
|
{
|
|
var_0A = 1;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_0B = func_7A00(param_00);
|
|
var_0C = var_0B[0];
|
|
var_0D = var_0B[1];
|
|
var_0E = var_0C.var_A240 func_6987(var_0C,var_0D);
|
|
if(!common_scripts\utility::func_562E(var_0E))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!var_0D istouching(var_0C) && !common_scripts\utility::func_562E(self.devcommandactive))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
thread func_7A06(var_0C,param_01,var_0A);
|
|
if(isdefined(param_01.mesh_anim_sheen))
|
|
{
|
|
param_01 func_7A0C(param_02,undefined,param_01.mesh_anim_sheen,param_07,var_0D);
|
|
}
|
|
else
|
|
{
|
|
param_01 func_7A0C(param_02,undefined,param_05,param_07,var_0D);
|
|
}
|
|
|
|
param_01 func_7A0E(param_08);
|
|
var_0C waittill("endUse",var_0D,var_0E);
|
|
param_01 func_7A17();
|
|
var_0F = var_0C.var_A240;
|
|
if(var_0E && !self.var_2F16)
|
|
{
|
|
raidwallrepairtriggersetcurprogress(param_00,0);
|
|
return 1;
|
|
}
|
|
|
|
var_10 = 2;
|
|
var_11 = var_0F.var_28D5 / var_0F.var_A23F;
|
|
var_12 = var_0F.var_A23F / 1000;
|
|
var_13 = lib_02EF::func_8086(var_11,0,1,0.01,1);
|
|
if(var_11 < var_0A || self.var_2F16)
|
|
{
|
|
var_14 = var_12 * 1 - var_11 / var_10;
|
|
if(isdefined(param_01.mesh_anim_sheen))
|
|
{
|
|
param_01 func_7A0C(param_03,var_14,undefined,param_01.mesh_anim_sheen,var_0D);
|
|
}
|
|
else
|
|
{
|
|
param_01 func_7A0C(param_03,var_14,param_05,undefined,var_0D);
|
|
}
|
|
|
|
param_01 func_7A0F(param_09,var_13);
|
|
raidwallrepairtriggersetcurprogress(param_00,0);
|
|
if(self.var_2F16)
|
|
{
|
|
func_79FC(param_01,"none");
|
|
raidwallturrettoggle(0);
|
|
raidwallsheenanimatetoggle(0,param_01);
|
|
raidwallsheentoggle(0);
|
|
raidwalldeathtrigger(0);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
var_14 = var_12 * 1 - 2 * var_11 - 1 / var_10;
|
|
param_01 thread func_7A0C(param_04,var_14,param_05,param_06,var_0D);
|
|
param_01 func_7A0F(param_09,var_13);
|
|
raidwallrepairtriggersetcurprogress(param_00,int(var_0F.var_A23F / 2));
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 68
|
|
func_7A06(param_00,param_01,param_02)
|
|
{
|
|
self endon("stopFullThink");
|
|
param_00 endon("endUse");
|
|
param_00 endon("death");
|
|
var_03 = param_00.var_A240;
|
|
while(var_03.var_28D5 / var_03.var_A23F < param_02)
|
|
{
|
|
wait 0.05;
|
|
}
|
|
|
|
func_79FC(param_01,"half");
|
|
raidwallturrettoggle(0);
|
|
raidwallsheenanimatetoggle(0,param_01);
|
|
raidwallsheentoggle(0);
|
|
raidwalldeathtrigger(0);
|
|
}
|
|
|
|
//Function Number: 69
|
|
func_7A07(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
|
|
{
|
|
self endon("stopHalfThink");
|
|
for(;;)
|
|
{
|
|
var_0A = func_7A00(param_00);
|
|
var_0B = var_0A[0];
|
|
var_0C = var_0A[1];
|
|
var_0D = var_0B.var_A240 func_6987(var_0B,var_0C);
|
|
if(!common_scripts\utility::func_562E(var_0D))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!var_0C istouching(var_0B) && !common_scripts\utility::func_562E(self.devcommandactive))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
param_01 func_7A0C(param_02,2.5,param_05,param_07,var_0C);
|
|
param_01 func_7A0E(param_08);
|
|
var_0B waittill("endUse",var_0C,var_0D);
|
|
param_01 func_7A17();
|
|
if(var_0D && !self.var_2F16)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
var_0E = 2;
|
|
var_0F = var_0B.var_A240;
|
|
var_10 = var_0F.var_28D5 / var_0F.var_A23F;
|
|
var_11 = var_0F.var_A23F / 1000;
|
|
var_12 = var_11 * 1 - 2 * var_10 - 1 / var_0E;
|
|
var_13 = lib_02EF::func_8086(var_10,0,1,0.01,1);
|
|
if(self.var_2F16)
|
|
{
|
|
var_12 = var_11 * 1 - var_10 / var_0E;
|
|
param_01 func_7A0C(param_04,var_12,param_05,undefined,var_0C);
|
|
param_01 func_7A0F(param_09,var_13);
|
|
raidwallrepairtriggersetcurprogress(param_00,0);
|
|
func_79FC(param_01,"none");
|
|
raidwallturrettoggle(0);
|
|
raidwallsheenanimatetoggle(0,param_01);
|
|
}
|
|
else
|
|
{
|
|
param_01 thread func_7A0C(param_03,var_12,param_05,param_06,var_0C);
|
|
param_01 thread func_7A0F(param_09,var_13);
|
|
}
|
|
|
|
raidwallrepairtriggersetcurprogress(param_00,int(var_0F.var_A23F / 2));
|
|
}
|
|
}
|
|
|
|
//Function Number: 70
|
|
func_7A0C(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
self notify("raidWallPlayAnim");
|
|
if(isdefined(param_02))
|
|
{
|
|
self setmodel(param_02);
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
if(isdefined(param_04) && param_04 maps\mp\_utility::func_649("specialty_improvedobjectives"))
|
|
{
|
|
self scriptmodelplayanim(param_00,"raidWall",param_01,param_04.var_696D);
|
|
}
|
|
else
|
|
{
|
|
self scriptmodelplayanim(param_00,"raidWall",param_01);
|
|
}
|
|
}
|
|
else if(isdefined(param_04) && param_04 maps\mp\_utility::func_649("specialty_improvedobjectives"))
|
|
{
|
|
self scriptmodelplayanim(param_00,"raidWall",0,param_04.var_696D);
|
|
}
|
|
else
|
|
{
|
|
self scriptmodelplayanim(param_00,"raidWall");
|
|
}
|
|
|
|
if(isdefined(param_03))
|
|
{
|
|
thread func_7A0D(param_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 71
|
|
func_7A0F(param_00,param_01)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = 1;
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
var_02 = self.var_116 + (0,0,48);
|
|
var_03 = playclientsound(param_00,undefined,var_02,"world",undefined,undefined,undefined,undefined,param_01);
|
|
return var_03;
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 72
|
|
func_7A0E(param_00)
|
|
{
|
|
if(isdefined(param_00))
|
|
{
|
|
if(!isdefined(self.var_5F05))
|
|
{
|
|
var_01 = self.var_116 + (0,0,48);
|
|
self.var_5F05 = func_7A0F(param_00);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 73
|
|
func_7A17()
|
|
{
|
|
if(isdefined(self.var_5F05))
|
|
{
|
|
stopclientsound(self.var_5F05);
|
|
self.var_5F05 = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 74
|
|
func_7A0D(param_00)
|
|
{
|
|
self endon("raidWallPlayAnim");
|
|
self waittillmatch("end","raidWall");
|
|
self setmodel(param_00);
|
|
if(param_00 == "swf_bunker_door_brick_01_window_01_static_whole")
|
|
{
|
|
self scriptmodelclearanim();
|
|
}
|
|
}
|
|
|
|
//Function Number: 75
|
|
func_79FD(param_00,param_01,param_02)
|
|
{
|
|
param_00 endon("death");
|
|
param_00.var_93FD = undefined;
|
|
param_00.var_29D1 = param_02;
|
|
param_00 maps\mp\gametypes\_damage::func_8676(param_01,"raid_buildable",::func_7A01,::lib_0502::func_1D38);
|
|
}
|
|
|
|
//Function Number: 76
|
|
func_79FE(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = func_7A02(param_01,param_02);
|
|
if(var_04 > 0 && isdefined(self.var_29D1))
|
|
{
|
|
self setmodel(self.var_29D1);
|
|
}
|
|
|
|
return var_04;
|
|
}
|
|
|
|
//Function Number: 77
|
|
func_7A15(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
param_00 endon("end_damageWatch");
|
|
param_00.var_93FD = undefined;
|
|
param_00 maps\mp\gametypes\_damage::func_8676(4,"raid_buildable",::func_7A01,::lib_0502::func_1D38);
|
|
}
|
|
|
|
//Function Number: 78
|
|
func_7A02(param_00,param_01)
|
|
{
|
|
var_02 = -1;
|
|
if(isexplosivedamagemod(param_01) && isdefined(param_00))
|
|
{
|
|
var_03 = param_00;
|
|
if(function_030D(param_00))
|
|
{
|
|
var_03 = maps\mp\_utility::func_452B(param_00);
|
|
}
|
|
|
|
if(maps\mp\_utility::func_5856(var_03))
|
|
{
|
|
var_03 = maps\mp\gametypes\_class::func_4432(var_03);
|
|
}
|
|
|
|
switch(var_03)
|
|
{
|
|
case "bouncingbetty_mp":
|
|
case "frag_grenade_german_mp":
|
|
case "semtex_mp":
|
|
case "frag_grenade_mp":
|
|
var_02 = 1;
|
|
break;
|
|
|
|
case "panzerschreck_mp":
|
|
case "bazooka_mp":
|
|
case "c4_mp":
|
|
var_02 = 2;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 79
|
|
func_7A16(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = func_7A02(param_01,param_02);
|
|
return var_04;
|
|
}
|
|
|
|
//Function Number: 80
|
|
func_7A01(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = lib_0502::func_207F();
|
|
var_06 = 999999;
|
|
var_07 = undefined;
|
|
foreach(var_09 in var_05.var_982D["explosive_trigger"])
|
|
{
|
|
var_0A = distancesquared(var_09.var_116,self.var_116);
|
|
if(var_0A < var_06)
|
|
{
|
|
var_06 = var_0A;
|
|
var_07 = var_09;
|
|
}
|
|
}
|
|
|
|
if(!isdefined(var_07))
|
|
{
|
|
var_07 = var_05.var_982D["explosive_trigger"][0];
|
|
}
|
|
|
|
var_0C = var_05.var_982D["repair_trigger"][0];
|
|
var_05 func_7963(var_07,var_0C,param_00,param_04);
|
|
}
|
|
|
|
//Function Number: 81
|
|
raidwallstaticsheensetup(param_00)
|
|
{
|
|
if(isdefined(param_00.var_8260))
|
|
{
|
|
param_00.mesh_sheen = param_00.var_8260;
|
|
param_00.mesh_original = param_00.var_106;
|
|
}
|
|
}
|
|
|
|
//Function Number: 82
|
|
func_7A14(param_00)
|
|
{
|
|
func_7A13(param_00,2);
|
|
}
|
|
|
|
//Function Number: 83
|
|
raidwallstaticbuildpartstartfull(param_00)
|
|
{
|
|
func_7A13(param_00,0);
|
|
}
|
|
|
|
//Function Number: 84
|
|
raidwallstaticbuildpartstarthalf(param_00)
|
|
{
|
|
func_7A13(param_00,1);
|
|
}
|
|
|
|
//Function Number: 85
|
|
func_7A04(param_00,param_01)
|
|
{
|
|
param_00 endon("death");
|
|
var_02 = param_01 == 2 || param_01 == 1;
|
|
for(;;)
|
|
{
|
|
if(!common_scripts\utility::func_562E(var_02))
|
|
{
|
|
param_00 lib_0502::func_7997();
|
|
self waittillmatch("explode","trigger");
|
|
}
|
|
|
|
var_02 = 0;
|
|
param_00 lib_0502::func_79C6();
|
|
self waittillmatch("repaired","trigger");
|
|
}
|
|
}
|
|
|
|
//Function Number: 86
|
|
raidwalldestroyedpartstartdestroyed(param_00)
|
|
{
|
|
func_7A13(param_00,2);
|
|
}
|
|
|
|
//Function Number: 87
|
|
raidwalldestroyedpartstartfull(param_00)
|
|
{
|
|
func_7A13(param_00,0);
|
|
}
|
|
|
|
//Function Number: 88
|
|
raidwalldestroyedpartstarthalf(param_00)
|
|
{
|
|
func_7A13(param_00,1);
|
|
}
|
|
|
|
//Function Number: 89
|
|
func_7A11(param_00,param_01)
|
|
{
|
|
thread func_7A04(param_00,param_01);
|
|
}
|
|
|
|
//Function Number: 90
|
|
func_7A12(param_00)
|
|
{
|
|
func_7A11(param_00,2);
|
|
}
|
|
|
|
//Function Number: 91
|
|
raidwallrepairmodelstartfull(param_00)
|
|
{
|
|
func_7A11(param_00,0);
|
|
}
|
|
|
|
//Function Number: 92
|
|
raidwallrepairmodelstarthalf(param_00)
|
|
{
|
|
func_7A11(param_00,1);
|
|
}
|
|
|
|
//Function Number: 93
|
|
func_440F()
|
|
{
|
|
var_00 = common_scripts\utility::func_46B7("raid_wall","script_noteworthy");
|
|
var_01 = common_scripts\utility::func_46B7("raid_wall_half","script_noteworthy");
|
|
var_02 = common_scripts\utility::func_46B7("raid_wall_destroyed","script_noteworthy");
|
|
return common_scripts\utility::func_F73(common_scripts\utility::func_F73(var_00,var_02),var_01);
|
|
}
|
|
|
|
//Function Number: 94
|
|
func_5A4F(param_00,param_01,param_02)
|
|
{
|
|
var_03 = param_01 * param_01;
|
|
var_04 = func_440F();
|
|
var_05 = common_scripts\utility::func_46B7("exempt_from_kill","targetname");
|
|
var_04 = common_scripts\utility::func_F94(var_04,var_05);
|
|
foreach(var_07 in var_04)
|
|
{
|
|
var_08 = distancesquared(param_00,var_07.var_116);
|
|
if(var_08 < var_03)
|
|
{
|
|
var_09 = var_07 lib_0502::func_207E("explosive_trigger");
|
|
if(isdefined(var_09))
|
|
{
|
|
var_0A = var_09 lib_0502::func_207E("explosive_model");
|
|
if((var_07.var_2599 || var_07.var_5708) && isdefined(var_0A))
|
|
{
|
|
var_0A thread func_7A01(param_02,"bomb_site_mp","MOD_EXPLOSIVE",10000,1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 95
|
|
func_2F99(param_00,param_01)
|
|
{
|
|
var_02 = param_01 * param_01;
|
|
var_03 = func_440F();
|
|
var_04 = common_scripts\utility::func_46B7("exempt_from_kill","targetname");
|
|
var_03 = common_scripts\utility::func_F94(var_03,var_04);
|
|
foreach(var_06 in var_03)
|
|
{
|
|
if(common_scripts\utility::func_562E(var_06.var_2F16))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_07 = distancesquared(param_00,var_06.var_116);
|
|
if(var_07 < var_02)
|
|
{
|
|
disable_wall(var_06);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 96
|
|
disable_wall(param_00)
|
|
{
|
|
param_00.var_2F16 = 1;
|
|
var_01 = param_00 lib_0502::func_207D("repair_trigger");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
var_04 = var_03 lib_0502::func_207D("repair_model");
|
|
foreach(var_06 in var_04)
|
|
{
|
|
var_06 notify("death");
|
|
var_06 lib_0502::func_7997();
|
|
}
|
|
|
|
var_03 notify("disable_repair");
|
|
if(isdefined(var_03.var_A240))
|
|
{
|
|
var_03.var_A240 thread func_2F6E();
|
|
}
|
|
|
|
var_03 thread func_2CFA();
|
|
}
|
|
|
|
var_09 = param_00 lib_0502::func_207D("explosive_trigger");
|
|
foreach(var_03 in var_09)
|
|
{
|
|
var_0B = var_03 lib_0502::func_207D("explosive_model");
|
|
foreach(var_06 in var_0B)
|
|
{
|
|
var_06 notify("death");
|
|
var_06 lib_0502::func_7997();
|
|
}
|
|
|
|
var_03 notify("disable_explode");
|
|
if(isdefined(var_03.var_A240))
|
|
{
|
|
var_03.var_A240 thread func_2F6E();
|
|
}
|
|
|
|
var_03 thread func_2CFA();
|
|
}
|
|
|
|
var_0F = param_00 lib_0502::func_207D("mantle_traversal_start");
|
|
func_2FC5(var_0F);
|
|
var_10 = param_00 lib_0502::func_207D("bomb_traversal_start");
|
|
func_2FC5(var_10);
|
|
}
|
|
|
|
//Function Number: 97
|
|
func_2CFA()
|
|
{
|
|
self endon("death");
|
|
waittillframeend;
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 98
|
|
func_79DF(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
}
|
|
|
|
//Function Number: 99
|
|
func_79E0(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
}
|
|
|
|
//Function Number: 100
|
|
raidwireanimated(param_00)
|
|
{
|
|
lib_0502::func_1D39(param_00);
|
|
if(!isdefined(level.var_79C2.var_159A))
|
|
{
|
|
level.var_79C2.var_159A = [];
|
|
}
|
|
|
|
level.var_79C2.var_159A[level.var_79C2.var_159A.size] = param_00;
|
|
self.var_172D = "";
|
|
raidwireanimatedbenefitsteam(game["defenders"]);
|
|
self.var_2599 = 0;
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_01,var_02);
|
|
switch(var_01)
|
|
{
|
|
case "constructed":
|
|
break;
|
|
|
|
case "bomb_planted":
|
|
self.var_18C6 = 1;
|
|
break;
|
|
|
|
case "bomb_exploded":
|
|
case "destroyed":
|
|
self.var_18C6 = 0;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 101
|
|
raidwireanimatedbenefitsteam(param_00)
|
|
{
|
|
if(self.var_172D == param_00)
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_172D = param_00;
|
|
}
|
|
|
|
//Function Number: 102
|
|
raidwireanimateddeleteonremove(param_00)
|
|
{
|
|
self waittillmatch("remove","trigger");
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 103
|
|
raidwireanimatedwaittillbombplanted(param_00)
|
|
{
|
|
self notify("raidWireAnimatedWaittillBombPlanted");
|
|
self endon("raidWireAnimatedWaittillBombPlanted");
|
|
param_00 waittill("used",var_01);
|
|
self notify("trigger","bomb_planted",var_01);
|
|
}
|
|
|
|
//Function Number: 104
|
|
raidwireanimatedtriggeronbeginuse(param_00)
|
|
{
|
|
lib_0502::func_79E3(param_00);
|
|
param_00 allowjump(0);
|
|
}
|
|
|
|
//Function Number: 105
|
|
raidwireanimatedtriggeronenduse(param_00,param_01,param_02)
|
|
{
|
|
lib_0502::func_79E4(param_00,param_01,param_02);
|
|
if(isdefined(param_01))
|
|
{
|
|
param_01 allowjump(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 106
|
|
raidwireanimatedtriggerinit(param_00,param_01)
|
|
{
|
|
param_00.var_A240.var_159A = self;
|
|
param_00.var_A240.var_2F90 = 1;
|
|
param_00.var_A240.var_6ABC = ::raidwireanimatedtriggeronbeginuse;
|
|
param_00.var_A240.var_6AFA = ::raidwireanimatedtriggeronenduse;
|
|
param_00.var_A240.var_A248 = param_01;
|
|
param_00.var_A240.var_A23C = 0;
|
|
param_00.var_A240.var_7894 = 1;
|
|
}
|
|
|
|
//Function Number: 107
|
|
raidwireanimatedtrigger(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
var_01 = self.var_982D["slow_trigger"][0];
|
|
self.var_9D65 = param_00;
|
|
lib_0502::func_1D3A(param_00,self.var_2599);
|
|
for(;;)
|
|
{
|
|
var_01 lib_0502::func_79C9(0);
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_CONSTRUCT",3,6);
|
|
raidwireanimatedtriggerinit(param_00,"war_wrench_assemble_mp");
|
|
lib_0502::func_1D3B(self.var_2599);
|
|
param_00 waittill("used",var_02);
|
|
param_00 sethintstring("");
|
|
self.var_2599 = 1;
|
|
lib_0502::func_1D3B(self.var_2599);
|
|
self notify("trigger","constructed",var_02);
|
|
if(lib_0502::func_21AC(self,var_02))
|
|
{
|
|
lib_0502::func_7922(var_02);
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_03 = undefined;
|
|
var_04 = undefined;
|
|
var_01 lib_0502::func_79C9(1);
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_PLACE_EXPLOSIVE",3,8);
|
|
raidwireanimatedtriggerinit(param_00,"war_bangalore_mp");
|
|
thread raidwireanimatedwaittillbombplanted(param_00);
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_03,var_04);
|
|
if(var_03 == "bomb_planted" || var_03 == "destroyed")
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
param_00 sethintstring("");
|
|
if(var_03 == "destroyed")
|
|
{
|
|
break;
|
|
}
|
|
|
|
thread raidwireaimatedexplosivetimer(param_00,var_04);
|
|
param_00 sethintstring("");
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_03,var_04);
|
|
if(var_03 == "bomb_exploded" || var_03 == "destroyed")
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
param_00 sethintstring("");
|
|
self notify("stop_timer");
|
|
if(var_03 == "bomb_exploded" || var_03 == "destroyed")
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 108
|
|
raidwireaimatedexplosivetimer(param_00,param_01)
|
|
{
|
|
self endon("stop_timer");
|
|
var_02 = 5;
|
|
if(isdefined(param_01) && param_01 maps\mp\_utility::func_649("specialty_improvedobjectives"))
|
|
{
|
|
var_02 = 2.5;
|
|
}
|
|
|
|
var_03 = gettime() + var_02 * 1000;
|
|
var_04 = 0;
|
|
while(var_03 > gettime())
|
|
{
|
|
if(var_04 != 0)
|
|
{
|
|
lib_04F3::func_79CB("dynamite_timer_tick",param_00.var_116);
|
|
}
|
|
else
|
|
{
|
|
lib_04F3::func_79CB("dynamite_timer_tock",param_00.var_116);
|
|
}
|
|
|
|
var_04 = var_04 + 1 % 2;
|
|
var_05 = var_03 - gettime() / 1000;
|
|
var_06 = 0.05;
|
|
if(var_05 > 2)
|
|
{
|
|
var_06 = 0.5;
|
|
}
|
|
else if(var_05 > 1)
|
|
{
|
|
var_06 = 0.25;
|
|
}
|
|
|
|
maps\mp\gametypes\_hostmigration::func_A783(var_06);
|
|
if(isdefined(level.var_4E09))
|
|
{
|
|
var_07 = maps\mp\gametypes\_hostmigration::func_A782();
|
|
var_03 = var_03 + var_07;
|
|
}
|
|
}
|
|
|
|
maps\mp\gametypes\_hostmigration::func_A782();
|
|
thread raidwireanimatedexplosiveexplode(param_00,param_01,0);
|
|
}
|
|
|
|
//Function Number: 109
|
|
raidwireanimatedexplosiveexplode(param_00,param_01,param_02)
|
|
{
|
|
var_03 = param_00 lib_0502::func_207F();
|
|
var_04 = var_03.var_982D["explosive_model"][0];
|
|
self.var_2599 = 0;
|
|
if(!common_scripts\utility::func_562E(param_02))
|
|
{
|
|
param_00 entityradiusdamage(var_04.var_116,256,150,20,param_01,"MOD_EXPLOSIVE","bomb_site_mp");
|
|
}
|
|
|
|
self notify("stop_timer");
|
|
if(isdefined(param_00) && isdefined(param_00.var_A240))
|
|
{
|
|
param_00.var_A240 thread func_2F6E();
|
|
}
|
|
|
|
self notify("trigger","bomb_exploded",param_01,param_02);
|
|
if(lib_0502::func_21AC(self,param_01))
|
|
{
|
|
lib_0502::func_7923(param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 110
|
|
raidwireanimatedmodel(param_00)
|
|
{
|
|
param_00.var_79AD = self;
|
|
param_00 lib_0502::func_7997();
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_01,var_02);
|
|
if(var_01 == "constructed")
|
|
{
|
|
param_00 lib_0502::func_79C6();
|
|
continue;
|
|
}
|
|
|
|
if(var_01 == "bomb_exploded" || var_01 == "destroyed")
|
|
{
|
|
param_00 lib_0502::func_7997();
|
|
continue;
|
|
}
|
|
|
|
if(var_01 == "remove" || var_01 == "disable")
|
|
{
|
|
param_00 delete();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 111
|
|
raidwireanimateddamagewatch(param_00,param_01,param_02)
|
|
{
|
|
param_00 endon("death");
|
|
param_00.var_93FD = undefined;
|
|
param_00.damage_anim = param_02;
|
|
param_00 maps\mp\gametypes\_damage::func_8676(param_01,"raid_buildable",::raidwireanimateddeath,::lib_0502::func_1D38);
|
|
}
|
|
|
|
//Function Number: 112
|
|
raidwireanimatedanimatedmodel(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
thread raidwireanimateddeleteonremove(param_00);
|
|
waittillframeend;
|
|
param_00 method_8278("mp_raids_barbedwire_full_destroy","barbedwire");
|
|
lib_0502::func_7D5C(param_00);
|
|
raidwireanimateddamagewatch(param_00,3,"mp_raids_barbedwire_full_destroy");
|
|
for(;;)
|
|
{
|
|
param_00.var_93FD = 1;
|
|
self.var_9D65 waittill("beginUse",var_01);
|
|
if(!self.var_9D65.var_A240.var_54F5)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02 = lib_0380::func_2889("buildable_barbed_wire_start",undefined,self.var_9D65.var_116);
|
|
thread barbed_wire_lp_snd_handler(self.var_9D65);
|
|
if(isdefined(var_01) && var_01 maps\mp\_utility::func_649("specialty_improvedobjectives"))
|
|
{
|
|
param_00 method_8278("mp_raids_barbedwire_full_repair_fast","barbedwire");
|
|
}
|
|
else
|
|
{
|
|
param_00 method_8278("mp_raids_barbedwire_full_repair","barbedwire");
|
|
}
|
|
|
|
self.var_9D65 waittill("endUse",var_01,var_03);
|
|
if(var_03)
|
|
{
|
|
lib_0502::func_7D5C(param_00);
|
|
var_04 = lib_0380::func_2889("buildable_barbed_wire_end",undefined,self.var_9D65.var_116);
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_05,var_01);
|
|
if(var_05 == "bomb_exploded" || var_05 == "destroyed")
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_03) && var_03 == 0)
|
|
{
|
|
var_06 = lib_0380::func_2889("buildable_barbed_wire_cancel",undefined,self.var_9D65.var_116);
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
param_00 method_8278("mp_raids_barbedwire_full_destroy","barbedwire");
|
|
}
|
|
}
|
|
|
|
//Function Number: 113
|
|
barbed_wire_lp_snd_handler(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("endUse");
|
|
wait(0.5);
|
|
var_01 = lib_0380::func_2889("buildable_barbed_wire_loop_start",undefined,param_00.var_116);
|
|
thread play_barbed_wire_loop(param_00);
|
|
thread play_barbed_wire_wrench(param_00);
|
|
}
|
|
|
|
//Function Number: 114
|
|
play_barbed_wire_loop(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
var_01 = lib_0380::func_2889("buildable_barbed_wire_lp",undefined,param_00.var_116);
|
|
param_00 waittill("endUse");
|
|
if(isdefined(var_01))
|
|
{
|
|
lib_0380::func_2893(var_01,0.5);
|
|
}
|
|
}
|
|
|
|
//Function Number: 115
|
|
play_barbed_wire_wrench(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
var_01 = lib_0380::func_2889("buildable_barbed_wire_wrench",undefined,param_00.var_116);
|
|
param_00 waittill("endUse");
|
|
if(isdefined(var_01))
|
|
{
|
|
lib_0380::func_2893(var_01,0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 116
|
|
raidwireanimatedghostmodel(param_00)
|
|
{
|
|
var_01 = 1;
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_02,var_03);
|
|
if(var_02 == "constructed")
|
|
{
|
|
param_00 lib_0502::func_7997();
|
|
var_01 = 0;
|
|
continue;
|
|
}
|
|
|
|
if(var_02 == "bomb_exploded" || var_02 == "destroyed")
|
|
{
|
|
if(!common_scripts\utility::func_562E(self.var_A3F6))
|
|
{
|
|
param_00 lib_0502::func_79C6();
|
|
}
|
|
|
|
var_01 = 1;
|
|
continue;
|
|
}
|
|
|
|
if(var_02 == "remove" || var_02 == "disable")
|
|
{
|
|
param_00 delete();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 117
|
|
raidwireanimatedexplosivemodel(param_00,param_01)
|
|
{
|
|
level.var_611["raid_door_explode"] = loadfx("vfx/map/mp_raid_cobra/raid_wall_breach_mp");
|
|
var_02 = param_00.var_982E;
|
|
param_00.var_6A55 = param_00 method_85A0();
|
|
param_00 lib_0502::func_7997();
|
|
param_00 thread maps\mp\gametypes\_damage::func_8676(10,"normal",::raidwireaimateddamagedeath,::lib_0502::func_1D37,0);
|
|
param_00 setcandamage(0);
|
|
param_00.var_C2E = 1;
|
|
self.explosivemodel = param_00;
|
|
var_03 = undefined;
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_04,var_05,var_06);
|
|
switch(var_04)
|
|
{
|
|
case "bomb_exploded":
|
|
if(!common_scripts\utility::func_562E(var_06))
|
|
{
|
|
lib_04F3::func_79CB("mp_war_bomb_explo",param_00.var_116);
|
|
playfx(common_scripts\utility::func_44F5("raid_door_explode"),param_00.var_116,param_00.var_1D + (0,-90,0));
|
|
}
|
|
|
|
param_00 lib_0502::func_7997();
|
|
param_00 setcandamage(0);
|
|
if(isdefined(var_03))
|
|
{
|
|
var_03 delete();
|
|
}
|
|
break;
|
|
|
|
case "bomb_planted":
|
|
var_07 = 5;
|
|
if(isdefined(var_05) && var_05 maps\mp\_utility::func_649("specialty_improvedobjectives"))
|
|
{
|
|
var_07 = 2.5;
|
|
}
|
|
|
|
var_03 = magicgrenademanual("war_dynamite_mp",param_00.var_116,(0,0,0),var_07 + 1);
|
|
var_03 method_8449(param_00);
|
|
param_00 setmodel("npc_usa_bangalore_base");
|
|
param_00 setcandamage(1);
|
|
param_00.var_706B = var_05.var_1A7;
|
|
badplace_cylinder("war_dynamite_mp_" + param_00 getentitynumber(),var_07 + 1,param_00.var_116,300,300,"allies","axis");
|
|
lib_0502::func_7D5C(param_00);
|
|
self.var_9D65 thread lib_0502::func_8A18(param_00);
|
|
break;
|
|
|
|
case "constructed":
|
|
param_00 setmodel("npc_usa_bangalore_base_sheen");
|
|
param_00 lib_0502::func_79C6();
|
|
param_00 setcandamage(0);
|
|
if(isdefined(var_03))
|
|
{
|
|
var_03 delete();
|
|
}
|
|
break;
|
|
|
|
case "destroyed":
|
|
param_00 lib_0502::func_7997();
|
|
param_00 setcandamage(0);
|
|
if(isdefined(var_03))
|
|
{
|
|
var_03 delete();
|
|
}
|
|
break;
|
|
|
|
case "disable":
|
|
case "remove":
|
|
param_00 delete();
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 118
|
|
raidwireaimateddamagedeath(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = lib_0502::func_207F();
|
|
var_06 = var_05.var_982D["trigger"][0];
|
|
var_05 raidwireanimatedexplosiveexplode(var_06,param_00,param_04);
|
|
}
|
|
|
|
//Function Number: 119
|
|
raidwireanimatedcollision(param_00)
|
|
{
|
|
param_00 notsolid();
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_01,var_02);
|
|
if(var_01 == "constructed")
|
|
{
|
|
param_00 lib_0502::func_79C6();
|
|
continue;
|
|
}
|
|
|
|
if(var_01 == "bomb_exploded" || var_01 == "destroyed")
|
|
{
|
|
param_00 lib_0502::func_7997();
|
|
continue;
|
|
}
|
|
|
|
if(var_01 == "remove")
|
|
{
|
|
param_00 delete();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 120
|
|
raidwireanimateddeath(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = self.var_982E;
|
|
if(!var_04.var_2599)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_04.var_2599 = 0;
|
|
var_04 notify("trigger","destroyed",param_00);
|
|
if(isdefined(var_04.var_9D65) && isdefined(var_04.var_9D65.var_A240))
|
|
{
|
|
var_04.var_9D65.var_A240 notify("disabled");
|
|
}
|
|
|
|
if(lib_0502::func_21AC(var_04,param_00))
|
|
{
|
|
lib_0502::func_7923(param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 121
|
|
raidbarbedwirewaittillnotconstructed()
|
|
{
|
|
if(!self.var_2599)
|
|
{
|
|
return;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_00,var_01);
|
|
if(var_00 == "bomb_exploded" || var_00 == "destroyed")
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 122
|
|
raidwireaimateddeletewhennotcontructed(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
raidbarbedwirewaittillnotconstructed();
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 123
|
|
func_7A1D(param_00)
|
|
{
|
|
lib_0502::func_1D39(param_00);
|
|
}
|
|
|
|
//Function Number: 124
|
|
func_7A1C(param_00)
|
|
{
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_DEPLOY",1.5,12);
|
|
var_01 = param_00.var_A240;
|
|
var_01 maps\mp\gametypes\_gameobjects::func_86EC("none");
|
|
var_01 maps\mp\gametypes\_gameobjects::func_8A60("any");
|
|
var_01.var_502A = "raidExpandTrigger";
|
|
var_01.var_A248 = "war_generic_assemble_mp";
|
|
var_01.var_113F = 0;
|
|
var_01.var_7894 = 1;
|
|
}
|
|
|
|
//Function Number: 125
|
|
func_7A1E(param_00)
|
|
{
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_REMOVE",1.5,13);
|
|
var_01 = param_00.var_A240;
|
|
var_01 maps\mp\gametypes\_gameobjects::func_86EC("none");
|
|
var_01 maps\mp\gametypes\_gameobjects::func_8A60("any");
|
|
var_01.var_502A = "raidShrinkTrigger";
|
|
var_01.var_A248 = "war_generic_assemble_mp";
|
|
var_01.var_113F = 0;
|
|
var_01.var_7894 = 1;
|
|
}
|
|
|
|
//Function Number: 126
|
|
func_7A1A(param_00)
|
|
{
|
|
waittillframeend;
|
|
var_01 = self.var_982D["expand_trigger"][0];
|
|
var_02 = self.var_982D["shrink_trigger"][0];
|
|
var_03 = self.var_982D["slow_trigger"][0];
|
|
var_04 = self.var_982D["arrow"][0];
|
|
var_05 = self.var_982D["repair_model"][0];
|
|
lib_0502::func_1D3A(var_01,0);
|
|
var_06 = param_00.var_116;
|
|
var_07 = param_00.var_116 + (0,0,-50);
|
|
param_00.var_116 = var_07;
|
|
for(;;)
|
|
{
|
|
lib_0502::func_1D3B(0);
|
|
var_02 makeunusable();
|
|
var_03 lib_0502::func_79C9(0);
|
|
var_05 lib_0502::func_79C6();
|
|
for(;;)
|
|
{
|
|
wait(1.5);
|
|
var_01 makeusable();
|
|
var_01 waittill("beginUse");
|
|
param_00 moveto(var_06,2,0.67,0.67);
|
|
var_01 waittill("endUse",var_08,var_09);
|
|
var_01 makeunusable();
|
|
wait 0.05;
|
|
if(var_09)
|
|
{
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
param_00 moveto(var_07,1,0.3,0.3);
|
|
}
|
|
}
|
|
|
|
lib_0502::func_1D3B(1);
|
|
var_01 makeunusable();
|
|
var_03 lib_0502::func_79C9(1);
|
|
var_05 lib_0502::func_7997();
|
|
for(;;)
|
|
{
|
|
wait(1.5);
|
|
var_02 makeusable();
|
|
var_02 waittill("beginUse");
|
|
param_00 moveto(var_07,2,0.67,0.67);
|
|
var_02 waittill("endUse",var_08,var_09);
|
|
var_02 makeunusable();
|
|
wait 0.05;
|
|
if(var_09)
|
|
{
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
param_00 moveto(var_06,1,0.3,0.3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 127
|
|
func_7A1F(param_00)
|
|
{
|
|
var_01 = ["buildable_barbed_wire_oneshot","buildable_barbed_wire_settle"];
|
|
var_02 = "buildable_barbed_wire_oneshot";
|
|
var_03 = "buildable_barbed_wire_settle";
|
|
param_00 thread lib_0502::func_79CA(1);
|
|
param_00 thread play_barbed_wire_oneshots(var_02);
|
|
param_00 thread play_barbed_wire_settles(var_03);
|
|
param_00 thread play_barbed_wire_exit();
|
|
}
|
|
|
|
//Function Number: 128
|
|
play_barbed_wire_oneshots(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("player_in_slowtrigger",var_01);
|
|
if(isdefined(var_01) && isdefined(var_01.var_53C5))
|
|
{
|
|
while(isdefined(var_01) && var_01.var_53C5 == 1)
|
|
{
|
|
lib_0380::func_2889(param_00,undefined,var_01.var_116);
|
|
var_02 = randomfloatrange(0.5,1.2);
|
|
wait(var_02);
|
|
}
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 129
|
|
play_barbed_wire_settles(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("player_in_slowtrigger",var_01);
|
|
if(isdefined(var_01) && isdefined(var_01.var_53C5))
|
|
{
|
|
while(isdefined(var_01) && var_01.var_53C5 == 1)
|
|
{
|
|
lib_0380::func_2889(param_00,undefined,var_01.var_116);
|
|
var_02 = randomfloatrange(0.5,1.2);
|
|
wait(var_02);
|
|
}
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 130
|
|
play_barbed_wire_exit()
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("player_out_of_slowtrigger");
|
|
var_00 = lib_0380::func_2889("buildable_barbed_wire_end",undefined,self.var_116);
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 131
|
|
func_7A1B(param_00)
|
|
{
|
|
param_00 lib_0502::func_7997();
|
|
param_00.var_7CD0 = param_00.var_1D;
|
|
param_00.var_2D6B = (param_00.var_1D[0],param_00.var_1D[1] - 180,param_00.var_1D[2]);
|
|
}
|
|
|
|
//Function Number: 132
|
|
func_79C8(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
param_00 enablelinkto();
|
|
lib_0502::func_2084(param_00);
|
|
self.var_9D65 = param_00;
|
|
for(;;)
|
|
{
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_CLOSE",0.5,17);
|
|
param_00 waittill("used",var_01);
|
|
self notify("trigger","close",var_01);
|
|
param_00 sethintstring("");
|
|
wait(0.4);
|
|
lib_0502::func_79E1(param_00,&"RAIDS_USE_OPEN",0.5,20);
|
|
param_00 waittill("used",var_01);
|
|
self notify("trigger","open",var_01);
|
|
param_00 sethintstring("");
|
|
wait(0.4);
|
|
}
|
|
}
|
|
|
|
//Function Number: 133
|
|
raidslidingdoor(param_00)
|
|
{
|
|
if(!isdefined(level.var_79C2.slidingdoors))
|
|
{
|
|
level.var_79C2.slidingdoors = [];
|
|
}
|
|
|
|
level.var_79C2.slidingdoors[level.var_79C2.slidingdoors.size] = param_00;
|
|
}
|
|
|
|
//Function Number: 134
|
|
func_79C7(param_00)
|
|
{
|
|
var_01 = param_00.var_982E.var_982D["open_door_traversal_start"];
|
|
var_02 = param_00.var_982E.var_982D["mantle_traversal_start"];
|
|
func_7A0B(param_00,var_02,var_01);
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_03,var_04);
|
|
switch(var_03)
|
|
{
|
|
case "open":
|
|
param_00 method_8617("aac_train_open");
|
|
lib_0502::func_64D5(param_00,"open_pos",0.4,1);
|
|
wait(0.4);
|
|
func_7A0B(param_00,var_02,var_01);
|
|
break;
|
|
|
|
case "close":
|
|
param_00 method_8617("aac_train_close");
|
|
lib_0502::func_64D5(param_00,"close_pos",0.4,1);
|
|
wait(0.4);
|
|
func_7A09(param_00,var_02,var_01);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
} |