// IW6 GSC SOURCE // Generated by https://github.com/xensik/gsc-tool main() { level.inc = 0; common_scripts\utility::array_levelthread( getentarray( "wire", "targetname" ), ::wirewander ); var_0 = getentarray( "shutter_left", "targetname" ); var_1 = getentarray( "shutter_right_open", "targetname" ); for ( var_2 = 0; var_2 < var_1.size; var_2++ ) var_0[var_0.size] = var_1[var_2]; var_1 = getentarray( "shutter_left_closed", "targetname" ); for ( var_2 = 0; var_2 < var_1.size; var_2++ ) var_0[var_0.size] = var_1[var_2]; for ( var_2 = 0; var_2 < var_0.size; var_2++ ) { var_3 = var_0[var_2]; var_3 rotateto( ( var_3.angles[0], var_3.angles[1] + 180, var_3.angles[2] ), 0.1 ); } wait 0.2; for ( var_2 = 0; var_2 < var_0.size; var_2++ ) var_0[var_2].startyaw = var_0[var_2].angles[1]; var_4 = getentarray( "shutter_right", "targetname" ); var_1 = getentarray( "shutter_left_open", "targetname" ); for ( var_2 = 0; var_2 < var_1.size; var_2++ ) var_4[var_4.size] = var_1[var_2]; var_1 = getentarray( "shutter_right_closed", "targetname" ); for ( var_2 = 0; var_2 < var_1.size; var_2++ ) var_4[var_4.size] = var_1[var_2]; for ( var_2 = 0; var_2 < var_4.size; var_2++ ) var_4[var_2].startyaw = var_4[var_2].angles[1]; var_1 = undefined; var_5 = "left"; for (;;) { common_scripts\utility::array_levelthread( var_0, ::shutterwanderleft, var_5 ); common_scripts\utility::array_levelthread( var_4, ::shutterwanderright, var_5 ); level waittill( "wind blows", var_5 ); } } windcontroller() { for (;;) { var_0 = "left"; if ( randomint( 100 ) > 50 ) var_0 = "right"; level notify( "wind blows", var_0 ); wait( 2 + randomfloat( 10 ) ); } } shutterwanderleft( var_0, var_1 ) { level.inc++; level endon( "wind blows" ); var_2 = var_0.startyaw; if ( var_1 == "left" ) var_2 = var_2 + 179.9; var_3 = 0.2; var_0 rotateto( ( var_0.angles[0], var_2, var_0.angles[2] ), var_3 ); wait( var_3 + 0.1 ); for (;;) { var_4 = randomint( 80 ); if ( randomint( 100 ) > 50 ) var_4 = var_4 * -1; var_2 = var_0.angles[1] + var_4; var_5 = var_0.angles[1] + var_4 * -1; if ( var_2 < var_0.startyaw || var_2 > var_0.startyaw + 179 ) var_2 = var_5; var_6 = abs( var_0.angles[1] - var_2 ); var_3 = var_6 * 0.02 + randomfloat( 2 ); if ( var_3 < 0.3 ) var_3 = 0.3; var_0 rotateto( ( var_0.angles[0], var_2, var_0.angles[2] ), var_3, var_3 * 0.5, var_3 * 0.5 ); wait( var_3 ); } } shutterwanderright( var_0, var_1 ) { level.inc++; level endon( "wind blows" ); var_2 = var_0.startyaw; if ( var_1 == "left" ) var_2 = var_2 + 179.9; var_3 = 0.2; var_0 rotateto( ( var_0.angles[0], var_2, var_0.angles[2] ), var_3 ); wait( var_3 + 0.1 ); for (;;) { var_4 = randomint( 80 ); if ( randomint( 100 ) > 50 ) var_4 = var_4 * -1; var_2 = var_0.angles[1] + var_4; var_5 = var_0.angles[1] + var_4 * -1; if ( var_2 < var_0.startyaw || var_2 > var_0.startyaw + 179 ) var_2 = var_5; var_6 = abs( var_0.angles[1] - var_2 ); var_3 = var_6 * 0.02 + randomfloat( 2 ); if ( var_3 < 0.3 ) var_3 = 0.3; var_0 rotateto( ( var_0.angles[0], var_2, var_0.angles[2] ), var_3, var_3 * 0.5, var_3 * 0.5 ); wait( var_3 ); } } wirewander( var_0 ) { var_1 = getentarray( var_0.target, "targetname" ); var_2 = var_1[0].origin; var_3 = var_1[1].origin; var_4 = vectortoangles( var_2 - var_3 ); var_5 = spawn( "script_model", ( 0, 0, 0 ) ); var_5.origin = var_2 * 0.5 + var_3 * 0.5; var_5.angles = var_4; var_0 linkto( var_5 ); var_6 = 2; var_7 = 0.9; var_8 = 4 + randomfloat( 2 ); var_5 rotateroll( var_8 * 0.5, 0.2 ); wait 0.2; for (;;) { var_9 = var_6 + randomfloat( var_7 ) - var_7 * 0.5; var_5 rotateroll( var_8, var_9, var_9 * 0.5, var_9 * 0.5 ); wait( var_9 ); var_5 rotateroll( var_8 * -1, var_9, var_9 * 0.5, var_9 * 0.5 ); wait( var_9 ); } }