567 lines
20 KiB
Plaintext
567 lines
20 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
section_flag_inits()
|
|
{
|
|
common_scripts\utility::flag_init( "flag_flarestack_scene_start" );
|
|
common_scripts\utility::flag_init( "flag_flarestack_dialogue_start" );
|
|
common_scripts\utility::flag_init( "flag_flarestack_end" );
|
|
common_scripts\utility::flag_init( "flag_flamestack_alarm_light" );
|
|
common_scripts\utility::flag_init( "flag_flarestack_player_pressed_button" );
|
|
common_scripts\utility::flag_init( "flag_flarestack_button_active" );
|
|
common_scripts\utility::flag_init( "flag_flarestack_leave" );
|
|
}
|
|
|
|
section_precache()
|
|
{
|
|
maps\_utility::add_hint_string( "hint_flarestack_button_press", &"BLACK_ICE_COMMAND_USE_CONSOLE", ::hint_button_press );
|
|
}
|
|
|
|
hint_button_press()
|
|
{
|
|
return !common_scripts\utility::flag( "hint_flarestack_button_press" );
|
|
}
|
|
|
|
section_post_inits()
|
|
{
|
|
level._flarestack = spawnstruct();
|
|
level._flarestack.scene_struct = common_scripts\utility::getstruct( "struct_flarestack_ally1", "targetname" );
|
|
|
|
if ( isdefined( level._flarestack.scene_struct ) )
|
|
{
|
|
level._flarestack.door_in = maps\black_ice_util::setup_door( "model_flarestack_inside_door", "flarestack_door_in" );
|
|
level._flarestack.scene_struct maps\_anim::anim_first_frame_solo( level._flarestack.door_in, "flarestack_start" );
|
|
level._flarestack.door_in.original_origin = level._flarestack.door_in.origin;
|
|
level._flarestack.door_out = maps\black_ice_util::setup_door( "model_flarestack_outside_door", "flarestack_door_out", "jnt_door" );
|
|
level._flarestack.scene_struct maps\_anim::anim_first_frame_solo( level._flarestack.door_out, "flarestack_exit" );
|
|
|
|
if ( level.start_point != "refinery" )
|
|
{
|
|
thread maps\black_ice_fx::turn_on_flarestack_fx();
|
|
thread maps\black_ice_fx::flarestack_turn_on_console_fx();
|
|
}
|
|
}
|
|
else
|
|
iprintln( "black_ice_flarestack.gsc: Warning - Flarestack scene struct missing (compiled out?)" );
|
|
}
|
|
|
|
start()
|
|
{
|
|
iprintln( "Flare Stack" );
|
|
maps\black_ice_util::player_start( "player_start_flarestack" );
|
|
var_0 = [ "struct_ally_start_flarestack_01", "struct_ally_start_flarestack_02" ];
|
|
level._allies maps\black_ice_util::teleport_allies( var_0 );
|
|
common_scripts\utility::flag_set( "flag_flarestack_dialogue_start" );
|
|
}
|
|
|
|
main()
|
|
{
|
|
wait 0.05;
|
|
setsaveddvar( "r_snowAmbientColor", ( 0.02, 0.02, 0.03 ) );
|
|
thread event_pressure_buildup();
|
|
thread light_flamestack();
|
|
thread light_hall_light();
|
|
thread light_alarm_lights();
|
|
thread flamestack_godrays();
|
|
thread dialogue();
|
|
thread maps\black_ice_audio::sfx_flare_stack_burn();
|
|
common_scripts\utility::exploder( "flamestack_snow" );
|
|
common_scripts\utility::exploder( "refinery_lights_b" );
|
|
thread event_player_turns_key();
|
|
thread event_scan_manager();
|
|
thread event_switch_animation();
|
|
thread allies();
|
|
thread fx_door_open();
|
|
common_scripts\utility::flag_wait( "flag_flarestack_end" );
|
|
maps\_utility::activate_trigger_with_targetname( "trig_refinery_ally_1_start" );
|
|
thread maps\black_ice_audio::sfx_exited_flarestack();
|
|
thread maps\black_ice::trains_periph_logic( 6.0, 1 );
|
|
thread flarestack_door_close();
|
|
}
|
|
|
|
dialogue()
|
|
{
|
|
maps\_utility::battlechatter_off( "allies" );
|
|
maps\_utility::battlechatter_off( "axis" );
|
|
common_scripts\utility::flag_wait( "flag_flarestack_dialogue_enter" );
|
|
level._allies[0] maps\_utility::smart_dialogue( "black_ice_mrk_pressureregulatorsare" );
|
|
common_scripts\utility::flag_wait( "flag_flarestack_dialogue_start" );
|
|
thread dialogue_foreman();
|
|
level._allies[0] maps\_utility::smart_dialogue( "blackice_bkr_theforeman" );
|
|
level notify( "notify_dialogue_baker_enter_complete" );
|
|
thread dialogue_nag();
|
|
level waittill( "notify_flarestack_enemy_on_console" );
|
|
wait 4;
|
|
level._allies[0] maps\_utility::smart_dialogue( "blackice_bkr_shutitdown" );
|
|
level._flarestack.foreman thread dialogue_foreman_line2();
|
|
level waittill( "notify_flarestack_baker_pistol_fire" );
|
|
wait 1;
|
|
level._allies[0] maps\_utility::smart_dialogue( "black_ice_bkr_bravoflarestacksoff" );
|
|
common_scripts\utility::flag_set( "flag_flarestack_leave" );
|
|
maps\_utility::smart_radio_dialogue( "black_ice_diz_rogerthatalphawereclear" );
|
|
level._allies[0] maps\_utility::smart_dialogue( "black_ice_bkr_alrightletsheadtopside" );
|
|
level._allies[0] thread maps\_utility::smart_dialogue( "black_ice_bkr_stayfrostydonot" );
|
|
common_scripts\utility::flag_set( "flag_flarestack_end" );
|
|
}
|
|
|
|
dialogue_foreman()
|
|
{
|
|
while ( !isdefined( level._flarestack.foreman ) )
|
|
wait 0.05;
|
|
|
|
level._flarestack.foreman thread dialogue_foreman_line1();
|
|
level._flarestack.foreman thread dialogue_foreman_line3();
|
|
}
|
|
|
|
dialogue_foreman_line1()
|
|
{
|
|
level waittill( "black_ice_saf2_whatareyoudoing" );
|
|
level._flarestack.foreman maps\_utility::smart_dialogue( "black_ice_saf2_whatareyoudoing" );
|
|
}
|
|
|
|
dialogue_foreman_line2()
|
|
{
|
|
wait 0.7;
|
|
level._flarestack.foreman maps\_utility::smart_dialogue( "black_ice_saf2_nononodontdoit" );
|
|
}
|
|
|
|
dialogue_foreman_line3()
|
|
{
|
|
level waittill( "black_ice_saf2_shitwhatareyou" );
|
|
level._flarestack.foreman maps\_utility::smart_dialogue( "black_ice_saf2_shitwhatareyou" );
|
|
}
|
|
|
|
dialogue_nag()
|
|
{
|
|
level endon( "flag_flarestack_player_pressed_button" );
|
|
level waittill( "notify_activate_flarestack_console" );
|
|
wait 8;
|
|
level._allies[0] maps\_utility::smart_dialogue( "blackice_bkr_gotoconsole" );
|
|
wait 8;
|
|
level._allies[0] maps\_utility::smart_dialogue( "blackice_bkr_shutdownflare" );
|
|
wait 8;
|
|
level._allies[0] maps\_utility::smart_dialogue( "blackice_bkr_theconsolenow" );
|
|
wait 8;
|
|
level._allies[0] maps\_utility::smart_dialogue( "blackice_bkr_consoleandshut" );
|
|
}
|
|
|
|
allies()
|
|
{
|
|
common_scripts\utility::array_call( level._allies, ::pushplayer, 1 );
|
|
common_scripts\utility::array_thread( level._allies, maps\black_ice_util::set_forcesuppression, 1 );
|
|
level._allies[1] thread allies_hesh_final_position();
|
|
level._allies[0] event_flarestack_enter();
|
|
common_scripts\utility::flag_wait( "flag_flarestack_leave" );
|
|
level._allies[0] thread allies_baker_flarestack_exit();
|
|
level._allies[0] maps\black_ice_util::set_forcesuppression( 0 );
|
|
}
|
|
|
|
allies_hesh_final_position()
|
|
{
|
|
var_0 = getnode( "node_flarestack_fuentes_exit", "targetname" );
|
|
common_scripts\utility::flag_wait( "flag_flarestack_player_pressed_button" );
|
|
self setgoalnode( var_0 );
|
|
}
|
|
|
|
allies_baker_flarestack_exit()
|
|
{
|
|
var_0 = level._flarestack.scene_struct;
|
|
var_1 = level._flarestack.door_out;
|
|
self notify( "stop_loop" );
|
|
var_2 = [ self, var_1 ];
|
|
thread maps\black_ice_audio::sfx_flarestack_door_open();
|
|
var_0 maps\_anim::anim_single( var_2, "flarestack_exit" );
|
|
var_1.col_brush connectpaths();
|
|
maps\_utility::enable_ai_color();
|
|
wait 0.2;
|
|
var_3 = getent( "brush_flarestack_player_door_blocker", "targetname" );
|
|
var_3 moveto( var_3.origin + ( 0, 0, 1024 ), 0.05 );
|
|
}
|
|
|
|
event_flarestack_enter()
|
|
{
|
|
var_0 = level._flarestack.scene_struct;
|
|
var_1 = level._flarestack.door_in;
|
|
maps\_utility::activate_trigger_with_targetname( "trig_flarestack_ally1_start" );
|
|
level waittill( "notify_dialogue_baker_enter_complete" );
|
|
common_scripts\utility::flag_wait( "flag_flarestack_scene_start" );
|
|
maps\black_ice_util::ignore_everything();
|
|
var_2 = getent( "enemy_flarestack", "targetname" ) maps\_utility::spawn_ai( 1, 1 );
|
|
var_2.animname = "flarestack_guy";
|
|
var_2.v.nogun = 1;
|
|
var_2.v.invincible = 1;
|
|
var_2.nodrop = 1;
|
|
level._flarestack.foreman = var_2;
|
|
var_0 maps\_anim::anim_first_frame_solo( var_2, "flarestack_start" );
|
|
level._flarestack.flarestack_controller = var_2;
|
|
var_2 maps\_utility::delaythread( 2, ::event_flarestack_enter_fail_watcher );
|
|
var_0 maps\_anim::anim_reach_solo( self, "flarestack_start" );
|
|
var_1 thread event_flarestack_enter_close_door();
|
|
var_0 thread maps\black_ice_vignette::vignette_single_solo( var_2, "flarestack_start", "flarestack_idle", undefined, "flarestack_end" );
|
|
var_0 thread maps\black_ice_vignette::vignette_single_solo( self, "flarestack_start", "flarestack_idle", "flarestack_end" );
|
|
var_0 thread maps\_anim::anim_single_solo( var_1, "flarestack_start" );
|
|
var_1.col_brush connectpaths();
|
|
thread maps\black_ice_audio::sfx_baker_fight_scene();
|
|
self waittill( "msg_vignette_start_anim_done" );
|
|
level notify( "notify_dialogue_clearance_start" );
|
|
level waittill( "notify_flare_stack_off" );
|
|
maps\black_ice_vignette::vignette_interrupt();
|
|
var_2 maps\black_ice_vignette::vignette_kill();
|
|
level waittill( "notify_flarestack_baker_pistol_pullout" );
|
|
self playsound( "scn_blackice_command_baker_pullout" );
|
|
var_3 = maps\_utility::spawn_anim_model( "baker_sidearm", self gettagorigin( "TAG_INHAND" ) );
|
|
var_3.angles = self gettagangles( "TAG_INHAND" );
|
|
var_3 linkto( self, "TAG_INHAND" );
|
|
level waittill( "notify_flarestack_baker_pistol_fire" );
|
|
playfxontag( common_scripts\utility::getfx( "headshot_blood" ), var_3, "tag_flash" );
|
|
playfxontag( common_scripts\utility::getfx( "pistol_shot_smoke" ), var_3, "tag_flash" );
|
|
common_scripts\utility::exploder( "flarestack_headshot" );
|
|
var_4 = var_3 gettagorigin( "tag_flash" );
|
|
var_5 = spawn( "script_origin", var_4 );
|
|
var_6 = var_4 + anglestoforward( var_3.angles ) * 128;
|
|
magicbullet( "m9a1", var_4, var_6 );
|
|
var_5 playsound( "scn_blackice_flarestack_kill" );
|
|
var_2 playsound( "scn_blackice_command_baker_kill" );
|
|
level waittill( "notify_flarestack_baker_pistol_putaway" );
|
|
var_3 delete();
|
|
var_5 delete();
|
|
self waittill( "msg_vignette_interrupt_break_done" );
|
|
maps\black_ice_util::cover_left_idle( "node_flarestack_baker_exit" );
|
|
}
|
|
|
|
event_flarestack_enter_fail_watcher()
|
|
{
|
|
level endon( "flag_flarestack_player_pressed_button" );
|
|
|
|
for (;;)
|
|
{
|
|
self waittill( "damage", var_0, var_1, var_2, var_3, var_4 );
|
|
|
|
if ( var_4 != "MOD_IMPACT" )
|
|
break;
|
|
}
|
|
|
|
setdvar( "ui_deadquote", &"BLACK_ICE_FLARESTACK_FAIL_ENEMY_KILL" );
|
|
level.player setclienttriggeraudiozone( "blackice_flarestack_fail", 0.1 );
|
|
maps\_utility::missionfailedwrapper();
|
|
}
|
|
|
|
event_flarestack_enter_close_door()
|
|
{
|
|
var_0 = getnode( "node_flarestack_ally2_start", "targetname" );
|
|
common_scripts\utility::flag_wait( "flag_flarestack_player_pressed_button" );
|
|
level._allies[1] forceteleport( var_0.origin, var_0.angles );
|
|
self.angles = self.original_angles;
|
|
self.origin = level._flarestack.door_in.original_origin;
|
|
wait 0.05;
|
|
self.col_brush disconnectpaths();
|
|
}
|
|
|
|
event_player_turns_key()
|
|
{
|
|
thread audio_start_pressure();
|
|
var_0 = common_scripts\utility::getstruct( "struct_flarestack_player", "targetname" );
|
|
var_1 = maps\_utility::spawn_anim_model( "player_rig", level.player.origin );
|
|
var_0 maps\_anim::anim_first_frame_solo( var_1, "turn_off_flare_stack" );
|
|
var_1 hide();
|
|
level waittill( "notify_activate_flarestack_console" );
|
|
maps\black_ice_util::waittill_trigger_activate_looking_at( level._flarestack.console, "hint_flarestack_button_press" );
|
|
common_scripts\utility::flag_set( "flag_flarestack_player_pressed_button" );
|
|
thread maps\black_ice_audio::sfx_use_console();
|
|
level.player allowcrouch( 0 );
|
|
level.player allowprone( 0 );
|
|
level.player allowmelee( 0 );
|
|
var_2 = level.player getcurrentweapon();
|
|
level.player disableweapons();
|
|
level.player disableoffhandweapons();
|
|
level.player disableweaponswitch();
|
|
var_3 = 0.6;
|
|
level.player playerlinktoblend( var_1, "tag_player", var_3 );
|
|
thread util_show_rig_after_blend( var_3, var_1 );
|
|
var_0 thread maps\_anim::anim_single_solo( var_1, "turn_off_flare_stack" );
|
|
level waittill( "notify_player_draw_weapon" );
|
|
level.player enableweapons();
|
|
level.player switchtoweaponimmediate( var_2 );
|
|
level.player enableoffhandweapons();
|
|
level.player enableweaponswitch();
|
|
level waittill( "notify_player_unlink" );
|
|
level.player unlink();
|
|
var_1 delete();
|
|
level.player allowcrouch( 1 );
|
|
level.player allowprone( 1 );
|
|
level.player allowmelee( 1 );
|
|
}
|
|
|
|
fx_console_button_light( var_0 )
|
|
{
|
|
playfxontag( common_scripts\utility::getfx( "console_light_blink" ), var_0, "tag_fx_button" );
|
|
level waittill( "notify_flare_stack_button_press" );
|
|
stopfxontag( common_scripts\utility::getfx( "console_light_blink" ), var_0, "tag_fx_button" );
|
|
level.player playrumbleonentity( "damage_light" );
|
|
}
|
|
|
|
util_show_rig_after_blend( var_0, var_1 )
|
|
{
|
|
wait( var_0 );
|
|
var_1 show();
|
|
}
|
|
|
|
light_hall_light()
|
|
{
|
|
var_0 = getentarray( "flarestack_hallway_1", "targetname" );
|
|
common_scripts\utility::flag_wait( "flag_flarestack_player_pressed_button" );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
var_2 setlightintensity( 0.01 );
|
|
var_2 setlightradius( 12 );
|
|
}
|
|
}
|
|
|
|
light_alarm_lights()
|
|
{
|
|
var_0 = getentarray( "flarestack_light_siren", "targetname" );
|
|
var_1 = getentarray( "flarestack_light_siren_off", "targetname" );
|
|
var_2 = [];
|
|
var_3 = 0;
|
|
|
|
foreach ( var_5 in var_0 )
|
|
{
|
|
var_6 = common_scripts\utility::spawn_tag_origin();
|
|
var_6.origin = var_5 gettagorigin( "TAG_fx_main" );
|
|
var_6.angles = var_5 gettagangles( "TAG_fx_main" );
|
|
var_6 linkto( var_5, "TAG_fx_main" );
|
|
var_2[var_3] = var_6;
|
|
var_5 hide();
|
|
var_3++;
|
|
}
|
|
|
|
var_8 = getentarray( "flarestack_emergency_1", "targetname" );
|
|
level waittill( "notify_stop_flare_stack" );
|
|
wait 6.0;
|
|
thread maps\black_ice_audio::sfx_start_flarestack_room_siren();
|
|
|
|
for (;;)
|
|
{
|
|
if ( common_scripts\utility::flag( "flag_flamestack_alarm_light" ) )
|
|
{
|
|
foreach ( var_5 in var_0 )
|
|
var_5 show();
|
|
|
|
foreach ( var_5 in var_1 )
|
|
var_5 hide();
|
|
|
|
foreach ( var_14 in var_2 )
|
|
playfxontag( level._effect["flarestack_siren_red"], var_14, "tag_origin" );
|
|
|
|
foreach ( var_5 in var_8 )
|
|
var_5 setlightintensity( 2.0 );
|
|
}
|
|
|
|
wait 1;
|
|
|
|
foreach ( var_5 in var_0 )
|
|
var_5 hide();
|
|
|
|
foreach ( var_5 in var_1 )
|
|
var_5 show();
|
|
|
|
foreach ( var_14 in var_2 )
|
|
stopfxontag( level._effect["flarestack_siren_red"], var_14, "tag_origin" );
|
|
|
|
foreach ( var_5 in var_8 )
|
|
var_5 setlightintensity( 0.01 );
|
|
|
|
wait 0.5;
|
|
}
|
|
}
|
|
|
|
audio_start_pressure()
|
|
{
|
|
level waittill( "notify_stop_flare_stack" );
|
|
thread maps\black_ice_audio::audio_derrick_explode_logic( "start" );
|
|
level waittill( "notify_flare_stack_button_press" );
|
|
}
|
|
|
|
flamestack_godrays()
|
|
{
|
|
var_0 = getent( "origin_flarestack_fx", "targetname" );
|
|
|
|
if ( maps\_utility::is_gen4() )
|
|
maps\black_ice_util::god_rays_from_world_location( var_0.origin, "flag_flarestack_scene_start", "flag_flarestack_player_pressed_button", "black_ice_flamestack", undefined );
|
|
}
|
|
|
|
light_flamestack()
|
|
{
|
|
var_0 = getent( "flarestack_window_1", "targetname" );
|
|
var_0 setlightintensity( 2.5 );
|
|
common_scripts\utility::flag_wait( "flag_flarestack_scene_start" );
|
|
var_0 light_flamestack_flicker();
|
|
var_0 setlightintensity( 3.0 );
|
|
wait 0.1;
|
|
var_0 setlightcolor( ( 0.68, 0.81, 0.82 ) );
|
|
var_0 setlightintensity( 0.8 );
|
|
maps\_art::sunflare_changes( "mudpumps", 0.1 );
|
|
maps\_utility::vision_set_fog_changes( "black_ice_refinery", 6 );
|
|
}
|
|
|
|
light_flamestack_flicker()
|
|
{
|
|
var_0 = self getlightintensity();
|
|
level endon( "flag_flarestack_player_pressed_button" );
|
|
|
|
for (;;)
|
|
{
|
|
self setlightintensity( var_0 );
|
|
wait 0.07;
|
|
self setlightintensity( var_0 * 0.9 );
|
|
wait 0.05;
|
|
self setlightintensity( var_0 * 0.85 );
|
|
wait 0.1;
|
|
self setlightintensity( var_0 * 0.9 );
|
|
wait 0.05;
|
|
self setlightintensity( var_0 );
|
|
wait 0.05;
|
|
self setlightintensity( var_0 * 0.85 );
|
|
wait 0.05;
|
|
self setlightintensity( var_0 * 0.75 );
|
|
wait 0.075;
|
|
self setlightintensity( var_0 * 0.85 );
|
|
wait 0.1;
|
|
self setlightintensity( var_0 );
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
event_pressure_buildup()
|
|
{
|
|
level waittill( "notify_flare_stack_off" );
|
|
event_pressure_buildup_start();
|
|
}
|
|
|
|
event_pressure_buildup_start( var_0 )
|
|
{
|
|
var_1 = common_scripts\utility::getstruct( "struct_rumble_dist", "targetname" );
|
|
var_2 = 0.0;
|
|
|
|
if ( !isdefined( var_0 ) )
|
|
var_0 = 9.0;
|
|
|
|
var_3 = 0.11;
|
|
var_4 = 0.05;
|
|
var_5 = 1000;
|
|
var_6 = 200;
|
|
var_7 = 3.0;
|
|
var_8 = 0.4;
|
|
var_9 = 0.12;
|
|
var_10 = 0.18;
|
|
var_11 = 0.18;
|
|
var_12 = 0.25;
|
|
var_13 = 0.7;
|
|
var_14 = 1.1;
|
|
var_15 = randomfloatrange( var_8, var_7 );
|
|
var_16 = 1.0;
|
|
var_17 = var_0 - level.timestep;
|
|
|
|
for (;;)
|
|
{
|
|
var_18 = distance( level.player.origin, var_1.origin );
|
|
var_2 = maps\black_ice_util::normalize_value( var_6, var_5, var_18 );
|
|
var_19 = maps\black_ice_util::factor_value_min_max( var_3, var_4, var_2 );
|
|
var_20 = maps\black_ice_util::factor_value_min_max( var_11, var_9, var_2 );
|
|
var_21 = maps\black_ice_util::factor_value_min_max( var_12, var_10, var_2 );
|
|
|
|
if ( var_17 > 0 )
|
|
{
|
|
var_16 = maps\black_ice_util::normalize_value( 0.0, var_0, var_17 );
|
|
var_16 = 1 - var_16;
|
|
}
|
|
else
|
|
var_16 = 1.0;
|
|
|
|
var_19 = var_19 * var_16;
|
|
earthquake( var_19, 0.2, level.player.origin, 128 );
|
|
|
|
if ( var_15 < 0.0 )
|
|
{
|
|
var_15 = randomfloatrange( var_8, var_7 );
|
|
var_22 = randomfloatrange( var_13, var_14 );
|
|
var_23 = randomfloatrange( var_20, var_21 );
|
|
var_23 = var_23 * var_16;
|
|
earthquake( var_23, var_22, level.player.origin, 128 );
|
|
thread maps\black_ice_audio::sfx_screenshake();
|
|
}
|
|
|
|
if ( common_scripts\utility::flag( "flag_derrick_exploded" ) )
|
|
break;
|
|
|
|
wait( level.timestep );
|
|
var_17 = var_17 - level.timestep;
|
|
var_15 = var_15 - level.timestep;
|
|
}
|
|
}
|
|
|
|
fx_door_open()
|
|
{
|
|
level waittill( "notify_flamestack_door_open" );
|
|
common_scripts\utility::exploder( "flamestack_door_open" );
|
|
maps\_utility::stop_exploder( "barracks_ambfx" );
|
|
maps\_utility::stop_exploder( "common_room_ambfx" );
|
|
}
|
|
|
|
event_scan_manager()
|
|
{
|
|
level waittill( "notify_flarestack_start_scan" );
|
|
thread maps\black_ice_audio::sfx_hand_scan();
|
|
common_scripts\utility::exploder( "flamestack_scan_on" );
|
|
wait 4.75;
|
|
level notify( "notify_activate_flarestack_console" );
|
|
level waittill( "notify_refinery_explosion_start" );
|
|
maps\_utility::stop_exploder( "flamestack_scan_on" );
|
|
}
|
|
|
|
event_switch_animation()
|
|
{
|
|
var_0 = getent( "flarestack_shutoff_button", "targetname" );
|
|
level._flarestack.console = var_0;
|
|
var_0 maps\_utility::assign_animtree( "flare_stack_console" );
|
|
var_0 maps\_anim::anim_first_frame_solo( var_0, "console_open" );
|
|
level waittill( "notify_activate_flarestack_console" );
|
|
var_0 thread maps\_anim::anim_single_solo( var_0, "console_open" );
|
|
wait 1.2;
|
|
thread fx_console_button_light( var_0 );
|
|
level waittill( "notify_console_flip_switch" );
|
|
var_0 thread maps\_anim::anim_single_solo( var_0, "turn_off_flare_stack" );
|
|
}
|
|
|
|
fx_flarestack_motion()
|
|
{
|
|
var_0 = getentarray( "flamestack_anim", "targetname" );
|
|
var_1 = getent( "flarestack_anim_node", "script_noteworthy" );
|
|
var_2 = var_1 common_scripts\utility::spawn_tag_origin();
|
|
|
|
foreach ( var_4 in var_0 )
|
|
var_4 linkto( var_2 );
|
|
|
|
wait 0.5;
|
|
var_2 vibrate( ( 1, 0, 0 ), 0.2, 1.7, 1.0 );
|
|
level waittill( "flamestack_steam_vent" );
|
|
var_2 vibrate( ( 1, 0, 0 ), 0.5, 1.0, 1.0 );
|
|
wait 1.0;
|
|
var_2 vibrate( ( 1, 0, 0 ), 0.75, 0.7, 0.7 );
|
|
wait 0.7;
|
|
var_2 vibrate( ( 1, 0, 0 ), 0.5, 1.0, 1.0 );
|
|
wait 1.0;
|
|
var_2 vibrate( ( 1, 0, 0 ), 0.25, 1.0, 1.0 );
|
|
wait 1.0;
|
|
var_2 vibrate( ( 1, 0, 0 ), 0.1, 1.0, 1.0 );
|
|
wait 1.0;
|
|
var_2 vibrate( ( 1, 0, 0 ), 0.01, 1.0, 1.0 );
|
|
}
|
|
|
|
flarestack_door_close()
|
|
{
|
|
level waittill( "notify_refinery_explosion_start" );
|
|
level._flarestack.door_out maps\black_ice_util::close_door();
|
|
}
|