// IW6 GSC SOURCE // Generated by https://github.com/xensik/gsc-tool init_tank_crush() { setdvarifuninitialized( "debug_tankcrush", "0" ); } tank_crush( var_0, var_1, var_2, var_3, var_4, var_5, var_6 ) { if ( !isdefined( var_6 ) ) var_6 = 1; var_7 = self; self vehicle_setspeed( 7 * var_6, 5, 5 ); var_8 = getanimlength( var_2 ) / var_6; var_9 = var_8 / 3; var_10 = var_8 / 3; var_11 = var_0.origin; var_12 = var_0.angles; var_13 = anglestoforward( var_12 ); var_14 = anglestoup( var_12 ); var_15 = anglestoright( var_12 ); var_16 = getstartorigin( var_11, var_12, var_2 ); var_17 = getstartangles( var_11, var_12, var_2 ); var_18 = anglestoforward( var_17 ); var_19 = anglestoup( var_17 ); var_20 = anglestoright( var_17 ); var_21 = anglestoforward( var_7.angles ); var_22 = anglestoup( var_7.angles ); var_23 = anglestoright( var_7.angles ); var_24 = var_11 - var_16; var_25 = vectordot( var_24, var_18 ); var_26 = vectordot( var_24, var_19 ); var_27 = vectordot( var_24, var_20 ); var_28 = spawn( "script_origin", var_7.origin ); var_28.origin = var_28.origin + var_21 * var_25; var_28.origin = var_28.origin + var_22 * var_26; var_28.origin = var_28.origin + var_23 * var_27; var_24 = anglestoforward( var_12 ); var_25 = vectordot( var_24, var_18 ); var_26 = vectordot( var_24, var_19 ); var_27 = vectordot( var_24, var_20 ); var_29 = var_21 * var_25; var_29 = var_29 + var_22 * var_26; var_29 = var_29 + var_23 * var_27; var_28.angles = vectortoangles( var_29 ); if ( isdefined( var_5 ) ) level thread common_scripts\utility::play_sound_in_space( var_5, var_11 ); var_0 useanimtree( var_4 ); var_7 useanimtree( var_4 ); var_0 thread tank_crush_fx_on_tag( "tag_window_left_glass_fx", level._vehicle_effect["tankcrush"]["window_med"], "veh_glass_break_small", 0.2 ); var_0 thread tank_crush_fx_on_tag( "tag_window_right_glass_fx", level._vehicle_effect["tankcrush"]["window_med"], "veh_glass_break_small", 0.4 ); var_0 thread tank_crush_fx_on_tag( "tag_windshield_back_glass_fx", level._vehicle_effect["tankcrush"]["window_large"], "veh_glass_break_large", 0.7 ); var_0 thread tank_crush_fx_on_tag( "tag_windshield_front_glass_fx", level._vehicle_effect["tankcrush"]["window_large"], "veh_glass_break_large", 1.5 ); var_0 animscripted( "tank_crush_anim", var_11, var_12, var_3 ); var_7 animscripted( "tank_crush_anim", var_28.origin, var_28.angles, var_2 ); if ( var_6 != 1 ) { var_0 setflaggedanim( "tank_crush_anim", var_3, 1, 0, var_6 ); var_7 setflaggedanim( "tank_crush_anim", var_2, 1, 0, var_6 ); } var_28 moveto( var_11, var_9, var_9 / 2, var_9 / 2 ); var_28 rotateto( var_12, var_9, var_9 / 2, var_9 / 2 ); wait( var_9 ); var_8 = var_8 - var_9; var_8 = var_8 - var_10; wait( var_8 ); var_30 = spawn( "script_model", var_16 ); var_30.angles = var_17; var_31 = var_30 localtoworldcoords( getmovedelta( var_2, 0, 1 ) ); var_32 = var_17 + ( 0, getangledelta( var_2, 0, 1 ), 0 ); var_30 delete(); var_33 = anglestoforward( var_32 ); var_34 = anglestoup( var_32 ); var_35 = anglestoright( var_32 ); var_36 = self getattachpos( var_1 ); var_21 = anglestoforward( var_36[1] ); var_22 = anglestoup( var_36[1] ); var_23 = anglestoright( var_36[1] ); var_24 = var_11 - var_31; var_25 = vectordot( var_24, var_33 ); var_26 = vectordot( var_24, var_34 ); var_27 = vectordot( var_24, var_35 ); var_28.final_origin = var_36[0]; var_28.final_origin = var_28.final_origin + var_21 * var_25; var_28.final_origin = var_28.final_origin + var_22 * var_26; var_28.final_origin = var_28.final_origin + var_23 * var_27; var_24 = anglestoforward( var_12 ); var_25 = vectordot( var_24, var_33 ); var_26 = vectordot( var_24, var_34 ); var_27 = vectordot( var_24, var_35 ); var_29 = var_21 * var_25; var_29 = var_29 + var_22 * var_26; var_29 = var_29 + var_23 * var_27; var_28.final_angles = vectortoangles( var_29 ); var_28 moveto( var_28.final_origin, var_10, var_10 / 2, var_10 / 2 ); var_28 rotateto( var_28.final_angles, var_10, var_10 / 2, var_10 / 2 ); wait( var_10 ); self attachpath( var_1 ); common_scripts\utility::waitframe(); } tank_crush_fx_on_tag( var_0, var_1, var_2, var_3 ) { if ( isdefined( var_3 ) ) wait( var_3 ); playfxontag( var_1, self, var_0 ); if ( isdefined( var_2 ) ) thread maps\_utility::play_sound_on_tag( var_2, var_0 ); }