iw6-scripts/maps/factory_fx.gsc
2024-02-13 13:20:49 +01:00

2146 lines
91 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
main()
{
level._effect["factory_het_cab_headlight_full"] = loadfx( "vfx/moments/factory/factory_het_cab_headlight_full" );
level._effect["factory_ambush_smoke_post"] = loadfx( "vfx/moments/factory/factory_ambush_smoke_post" );
level._effect["door_open_dust_short_01"] = loadfx( "fx/dust/door_open_dust_short_01" );
level._effect["factory_fog_cover"] = loadfx( "fx/smoke/factory_fog_cover" );
level._effect["factory_fog_ground_400"] = loadfx( "fx/smoke/factory_fog_ground_400" );
level._effect["factory_fog_patch"] = loadfx( "fx/smoke/factory_fog_patch" );
level._effect["101ton_bomb"] = loadfx( "vfx/gameplay/explosions/101ton_bomb" );
level._effect["101ton_bomb_nocometflash"] = loadfx( "vfx/gameplay/explosions/101ton_bomb_nocometflash" );
level._effect["101ton_bomb_slow"] = loadfx( "vfx/gameplay/explosions/101ton_bomb_slow" );
level._effect["101ton_bomb_cg_light"] = loadfx( "vfx/gameplay/explosions/101ton_bomb_cg_light" );
level._effect["afterburner_contrail"] = loadfx( "vfx/gameplay/vehicles/afterburner_contrail" );
level._effect["afterburner_contrail_faint"] = loadfx( "vfx/gameplay/vehicles/afterburner_contrail_faint" );
level._effect["amber_light_100_blinker_nolight"] = loadfx( "vfx/ambient/lights/amber_light_100_blinker_nolight" );
level._effect["amber_light_45_beacon_glow"] = loadfx( "vfx/ambient/lights/amber_light_45_beacon_glow" );
level._effect["amber_light_45_beacon_nglight_glow"] = loadfx( "vfx/ambient/lights/amber_light_45_beacon_nglight_glow" );
level._effect["amber_light_45_beacon_nolight_beam"] = loadfx( "vfx/ambient/lights/amber_light_45_beacon_nolight_beam" );
level._effect["amber_light_45_beacon_nolight_glow"] = loadfx( "vfx/ambient/lights/amber_light_45_beacon_nolight_glow" );
level._effect["amber_light_running_3_nolight"] = loadfx( "vfx/ambient/lights/amber_light_running_3_nolight" );
level._effect["amber_light_running_4_nolight"] = loadfx( "vfx/ambient/lights/amber_light_running_4_nolight" );
level._effect["amber_light_running_4_orient"] = loadfx( "vfx/ambient/lights/amber_light_running_4_orient" );
level._effect["amber_light_running_8_nolight"] = loadfx( "vfx/ambient/lights/amber_light_running_8_nolight" );
level._effect["drip_50x5"] = loadfx( "vfx/ambient/water/drip_50x5" );
level._effect["drip_5x5"] = loadfx( "vfx/ambient/water/drip_5x5" );
level._effect["dropped_flashlight_spotlight_runner"] = loadfx( "vfx/ambient/lights/dropped_flashlight_spotlight_runner" );
level._effect["dust_motes_100"] = loadfx( "vfx/ambient/dust/particulates/dust_motes_100" );
level._effect["dust_puff_light_fast_16"] = loadfx( "vfx/ambient/dust/dust_puff_light_fast_16" );
level._effect["electrical_sparks"] = loadfx( "vfx/ambient/sparks/electrical_sparks" );
level._effect["electrical_sparks_20_funner"] = loadfx( "vfx/ambient/sparks/electrical_sparks_20_funner" );
level._effect["electrical_sparks_fuller"] = loadfx( "vfx/ambient/sparks/electrical_sparks_fuller" );
level._effect["electrical_sparks_small_funner"] = loadfx( "vfx/ambient/sparks/electrical_sparks_small_funner" );
level._effect["explosion_150"] = loadfx( "vfx/gameplay/explosions/explosion_150" );
level._effect["factory_amber_flare"] = loadfx( "vfx/moments/factory/factory_amber_flare" );
level._effect["factory_ambush_assembly_smoke"] = loadfx( "vfx/moments/factory/factory_ambush_assembly_smoke" );
level._effect["factory_ambush_assembly_smoke_flir2"] = loadfx( "vfx/moments/factory/factory_ambush_assembly_smoke_flir2" );
level._effect["factory_ambush_chest_blood"] = loadfx( "vfx/moments/factory/factory_ambush_chest_blood" );
level._effect["factory_ambush_godray"] = loadfx( "vfx/moments/factory/factory_ambush_godray" );
level._effect["factory_ambush_grenade_trail_runner"] = loadfx( "vfx/moments/factory/factory_ambush_grenade_trail_runner" );
level._effect["factory_ambush_monitor"] = loadfx( "vfx/moments/factory/factory_ambush_monitor" );
level._effect["factory_ambush_monitor_error"] = loadfx( "vfx/moments/factory/factory_ambush_monitor_error" );
level._effect["factory_ambush_smoke"] = loadfx( "vfx/moments/factory/factory_ambush_smoke" );
level._effect["factory_ambush_smoke_grenade"] = loadfx( "vfx/moments/factory/factory_ambush_smoke_grenade" );
level._effect["factory_ambush_smoke_grenade_hand"] = loadfx( "vfx/moments/factory/factory_ambush_smoke_grenade_hand" );
level._effect["grenade_flash_flir2"] = loadfx( "vfx/gameplay/explosions/grenade_flash_flir2" );
level._effect["factory_box_scanner"] = loadfx( "vfx/moments/factory/factory_box_scanner" );
level._effect["factory_box_scanner_godray"] = loadfx( "vfx/moments/factory/factory_box_scanner_godray" );
level._effect["factory_breach_edge_sparks"] = loadfx( "vfx/moments/factory/factory_breach_edge_sparks" );
level._effect["factory_breach_monitor_sparks_01"] = loadfx( "vfx/moments/factory/factory_breach_monitor_sparks_01" );
level._effect["factory_breach_runner"] = loadfx( "vfx/moments/factory/factory_breach_runner" );
level._effect["factory_car_fire_runner"] = loadfx( "vfx/moments/factory/factory_car_fire_runner" );
level._effect["factory_chase_awning_dust"] = loadfx( "vfx/moments/factory/factory_chase_awning_dust" );
level._effect["factory_chase_box_smoke"] = loadfx( "vfx/moments/factory/factory_chase_box_smoke" );
level._effect["factory_chase_corner_dust"] = loadfx( "vfx/moments/factory/factory_chase_corner_dust" );
level._effect["factory_chase_het_tire_smoke_runner"] = loadfx( "vfx/moments/factory/factory_chase_het_tire_smoke_runner" );
level._effect["factory_chase_jeep_exp_fire_runner"] = loadfx( "vfx/moments/factory/factory_chase_jeep_exp_fire_runner" );
level._effect["factory_chase_jeep_explosion "] = loadfx( "vfx/moments/factory/factory_chase_jeep_explosion" );
level._effect["factory_chase_jeep_fire"] = loadfx( "vfx/moments/factory/factory_chase_jeep_fire" );
level._effect["factory_chase_jeep_fire_small"] = loadfx( "vfx/moments/factory/factory_chase_jeep_fire_small" );
level._effect["factory_chase_lamp_dust"] = loadfx( "vfx/moments/factory/factory_chase_lamp_dust" );
level._effect["factory_chase_smoke_column"] = loadfx( "vfx/moments/factory/factory_chase_smoke_column" );
level._effect["factory_chase_smoke_column_small"] = loadfx( "vfx/moments/factory/factory_chase_smoke_column_small" );
level._effect["factory_chase_stack_big_dust"] = loadfx( "vfx/moments/factory/factory_chase_stack_big_dust" );
level._effect["factory_chase_stack_big_dust_linger"] = loadfx( "vfx/moments/factory/factory_chase_stack_big_dust_linger" );
level._effect["factory_chase_stack_break"] = loadfx( "vfx/moments/factory/factory_chase_stack_break" );
level._effect["factory_chase_stack_glow_runner"] = loadfx( "vfx/moments/factory/factory_chase_stack_glow_runner" );
level._effect["factory_chase_stack_pieces_impact_dust"] = loadfx( "vfx/moments/factory/factory_chase_stack_pieces_impact_dust" );
level._effect["factory_chase_stack_pieces_trail_runner"] = loadfx( "vfx/moments/factory/factory_chase_stack_pieces_trail_runner" );
level._effect["factory_chase_stack_pipe_explosion"] = loadfx( "vfx/moments/factory/factory_chase_stack_pipe_explosion" );
level._effect["factory_chase_stack_small_dust"] = loadfx( "vfx/moments/factory/factory_chase_stack_small_dust" );
level._effect["factory_chase_stack_small_roof_dust"] = loadfx( "vfx/moments/factory/factory_chase_stack_small_roof_dust" );
level._effect["factory_chase_stack_walkway_dust"] = loadfx( "vfx/moments/factory/factory_chase_stack_walkway_dust" );
level._effect["factory_explosion_1200"] = loadfx( "vfx/moments/factory/factory_explosion_1200" );
level._effect["factory_explosion_600"] = loadfx( "vfx/moments/factory/factory_explosion_600" );
level._effect["factory_floodlight"] = loadfx( "vfx/moments/factory/factory_floodlight" );
level._effect["factory_floodlight_big"] = loadfx( "vfx/moments/factory/factory_floodlight_big" );
level._effect["factory_floodlight_flare"] = loadfx( "vfx/moments/factory/factory_floodlight_flare" );
level._effect["factory_floodlight_flare_far"] = loadfx( "vfx/moments/factory/factory_floodlight_flare_far" );
level._effect["factory_floodlight_rain"] = loadfx( "vfx/moments/factory/factory_floodlight_rain" );
level._effect["factory_godray_spread_200"] = loadfx( "vfx/moments/factory/factory_godray_spread_200" );
level._effect["factory_godray_spread_240"] = loadfx( "vfx/moments/factory/factory_godray_spread_240" );
level._effect["factory_het_cab_headlight_beam"] = loadfx( "vfx/moments/factory/factory_het_cab_headlight_beam" );
level._effect["factory_het_cab_headlight_lens"] = loadfx( "vfx/moments/factory/factory_het_cab_headlight_lens" );
level._effect["factory_intro_helicopter_rain"] = loadfx( "vfx/moments/factory/factory_intro_helicopter_rain" );
level._effect["factory_intro_helicopter_raindrops"] = loadfx( "vfx/moments/factory/factory_intro_helicopter_raindrops" );
level._effect["factory_intro_hero_rain"] = loadfx( "vfx/moments/factory/factory_intro_hero_rain" );
level._effect["factory_intro_stab_blood_ally"] = loadfx( "vfx/moments/factory/factory_intro_stab_blood_ally" );
level._effect["factory_intro_stab_blood_knife"] = loadfx( "vfx/moments/factory/factory_intro_stab_blood_knife" );
level._effect["factory_intro_stab_blood_player"] = loadfx( "vfx/moments/factory/factory_intro_stab_blood_player" );
level._effect["factory_intro_white_light_1200"] = loadfx( "vfx/moments/factory/factory_intro_white_light_1200" );
level._effect["factory_moving_piece_light"] = loadfx( "vfx/moments/factory/factory_moving_piece_light" );
level._effect["factory_presat_brake_light"] = loadfx( "vfx/moments/factory/factory_presat_brake_light" );
level._effect["factory_presat_stadium_light"] = loadfx( "vfx/moments/factory/factory_presat_stadium_light" );
level._effect["factory_red_flare"] = loadfx( "vfx/moments/factory/factory_red_flare" );
level._effect["factory_red_flare_dir"] = loadfx( "vfx/moments/factory/factory_red_flare_dir" );
level._effect["factory_sat_floor_steam"] = loadfx( "vfx/moments/factory/factory_sat_floor_steam" );
level._effect["factory_sat_studio_light"] = loadfx( "vfx/moments/factory/factory_sat_studio_light" );
level._effect["factory_sat_tunnel_steam_runner"] = loadfx( "vfx/moments/factory/factory_sat_tunnel_steam_runner" );
level._effect["factory_single_drip"] = loadfx( "vfx/moments/factory/factory_single_drip" );
level._effect["factory_single_splash"] = loadfx( "vfx/moments/factory/factory_single_splash" );
level._effect["factory_spotlight_nomodel"] = loadfx( "vfx/moments/factory/factory_spotlight_nomodel" );
level._effect["factory_studio_light_green"] = loadfx( "vfx/moments/factory/factory_studio_light_green" );
level._effect["factory_warm_flare"] = loadfx( "vfx/moments/factory/factory_warm_flare" );
level._effect["factory_warm_flare_dir"] = loadfx( "vfx/moments/factory/factory_warm_flare_dir" );
level._effect["factory_water_splash_runner"] = loadfx( "vfx/moments/factory/factory_water_splash_runner" );
level._effect["factory_water_splash_wave"] = loadfx( "vfx/moments/factory/factory_water_splash_wave" );
level._effect["factory_water_splash_wave_bright"] = loadfx( "vfx/moments/factory/factory_water_splash_wave_bright" );
level._effect["factory_water_spray_01"] = loadfx( "vfx/moments/factory/factory_water_spray_01" );
level._effect["factory_white_flare"] = loadfx( "vfx/moments/factory/factory_white_flare" );
level._effect["factory_white_flare_dir"] = loadfx( "vfx/moments/factory/factory_white_flare_dir" );
level._effect["flashlight_spotlight"] = loadfx( "vfx/ambient/lights/flashlight_spotlight" );
level._effect["flashlight_spotlight_flare"] = loadfx( "vfx/ambient/lights/flashlight_spotlight_flare" );
level._effect["flashlight_spotlight_rain"] = loadfx( "vfx/ambient/lights/flashlight_spotlight_rain" );
level._effect["glow_green_light_30_nolight"] = loadfx( "vfx/ambient/lights/vfx_glow_green_light_30_nolight" );
level._effect["glow_green_light_15_nolight"] = loadfx( "vfx/ambient/lights/vfx_glow_green_light_15_nolight" );
level._effect["glow_red_light_100_blinker"] = loadfx( "vfx/ambient/lights/vfx_glow_red_light_100_blinker" );
level._effect["glow_red_light_100_blinker_nolight"] = loadfx( "vfx/ambient/lights/vfx_glow_red_light_100_blinker_nolight" );
level._effect["glow_red_light_100_nolight"] = loadfx( "vfx/ambient/lights/vfx_glow_red_light_100_nolight" );
level._effect["glow_red_light_15_nolight"] = loadfx( "vfx/ambient/lights/vfx_glow_red_light_15_nolight" );
level._effect["glow_red_light_30_blinker_nolight"] = loadfx( "vfx/ambient/lights/vfx_glow_red_light_30_blinker_nolight" );
level._effect["glow_red_light_400_strobe"] = loadfx( "vfx/ambient/lights/vfx_glow_red_light_400_strobe" );
level._effect["no_effect"] = loadfx( "vfx/ambient/misc/no_effect" );
level._effect["leaf_green_light_wind_blue"] = loadfx( "vfx/ambient/trees/leaf_green_light_wind_blue" );
level._effect["leaf_green_strong_wind_blue"] = loadfx( "vfx/ambient/trees/leaf_green_strong_wind_blue" );
level._effect["leaf_palm_light_wind_blue"] = loadfx( "vfx/ambient/trees/leaf_palm_light_wind_blue" );
level._effect["leaf_palm_strong_wind_blue"] = loadfx( "vfx/ambient/trees/leaf_palm_strong_wind_blue" );
level._effect["lights_stadium_drizzle"] = loadfx( "vfx/ambient/weather/rain/lights_stadium_drizzle" );
level._effect["parking_lot_double_light"] = loadfx( "vfx/ambient/lights/parking_lot_double_light" );
level._effect["parking_lot_double_light_rain"] = loadfx( "vfx/ambient/lights/parking_lot_double_light_rain" );
level._effect["rain_ground_100_runner"] = loadfx( "vfx/ambient/weather/rain/rain_ground_100_runner" );
level._effect["rain_horizontal_150"] = loadfx( "vfx/ambient/weather/rain/rain_horizontal_150" );
level._effect["rain_splash_100x100"] = loadfx( "vfx/ambient/weather/rain/rain_splash_100x100" );
level._effect["rain_splash_200x200"] = loadfx( "vfx/ambient/weather/rain/rain_splash_200x200" );
level._effect["rain_splash_20x20"] = loadfx( "vfx/ambient/weather/rain/rain_splash_20x20" );
level._effect["rain_splash_puddle_50x50_runner"] = loadfx( "vfx/ambient/weather/rain/rain_splash_puddle_50x50_runner" );
level._effect["raindrops_screen_3_0"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_3_0" );
level._effect["raindrops_screen_3_1"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_3_1" );
level._effect["raindrops_screen_3_2"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_3_2" );
level._effect["raindrops_screen_3_3"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_3_3" );
level._effect["raindrops_screen_3_4"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_3_4" );
level._effect["raindrops_screen_5_0"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_5_0" );
level._effect["raindrops_screen_5_1"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_5_1" );
level._effect["raindrops_screen_5_2"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_5_2" );
level._effect["raindrops_screen_5_3"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_5_3" );
level._effect["raindrops_screen_5_4"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_5_4" );
level._effect["raindrops_screen_10_0"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_10_0" );
level._effect["raindrops_screen_10_1"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_10_1" );
level._effect["raindrops_screen_10_2"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_10_2" );
level._effect["raindrops_screen_10_3"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_10_3" );
level._effect["raindrops_screen_10_4"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_10_4" );
level._effect["raindrops_screen_20_0"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_20_0" );
level._effect["raindrops_screen_20_1"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_20_1" );
level._effect["raindrops_screen_20_2"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_20_2" );
level._effect["raindrops_screen_20_3"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_20_3" );
level._effect["raindrops_screen_20_4"] = loadfx( "vfx/gameplay/screen_effects/raindrops_screen_20_4" );
level._effect["rect_glow_120"] = loadfx( "vfx/ambient/lights/rect_glow_120" );
level._effect["rect_glow_120_godray"] = loadfx( "vfx/ambient/lights/rect_glow_120_godray" );
level._effect["rect_glow_300"] = loadfx( "vfx/ambient/lights/rect_glow_300" );
level._effect["red_light_15_rain"] = loadfx( "vfx/ambient/lights/red_light_15_rain" );
level._effect["red_light_15_rain_nolight"] = loadfx( "vfx/ambient/lights/red_light_15_rain_nolight" );
level._effect["red_light_30_rain_oriented"] = loadfx( "vfx/ambient/lights/red_light_30_rain_oriented" );
level._effect["red_light_30_rain_side_nolight"] = loadfx( "vfx/ambient/lights/red_light_30_rain_side_nolight" );
level._effect["red_light_1200_strobe"] = loadfx( "vfx/ambient/lights/red_light_1200_strobe" );
level._effect["smk_wispy_small_blue"] = loadfx( "vfx/ambient/smoke/smk_wispy_small_blue" );
level._effect["smokestack_blue"] = loadfx( "vfx/ambient/smoke/smokestack_blue" );
level._effect["smokestack_small_blue"] = loadfx( "vfx/ambient/smoke/smokestack_small_blue" );
level._effect["smoky_fluorescent_light"] = loadfx( "vfx/ambient/lights/smoky_fluorescent_light" );
level._effect["smoky_fluorescent_light_200_soft"] = loadfx( "vfx/ambient/lights/smoky_fluorescent_light_200_soft" );
level._effect["smoky_fluorescent_light_soft"] = loadfx( "vfx/ambient/lights/smoky_fluorescent_light_soft" );
level._effect["smoky_fluorescent_light_soft_faint"] = loadfx( "vfx/ambient/lights/smoky_fluorescent_light_soft_faint" );
level._effect["smoky_fluorescent_light_wall_soft"] = loadfx( "vfx/ambient/lights/smoky_fluorescent_light_wall_soft" );
level._effect["steam_low"] = loadfx( "vfx/ambient/steam/steam_low" );
level._effect["steam_low_small"] = loadfx( "vfx/ambient/steam/steam_low_small" );
level._effect["steam_floor_vent_low"] = loadfx( "vfx/ambient/steam/steam_floor_vent_low" );
level._effect["steam_jet_small"] = loadfx( "vfx/ambient/steam/steam_jet_small" );
level._effect["steam_lazy_60"] = loadfx( "vfx/ambient/steam/steam_lazy_60" );
level._effect["steam_wall_vent"] = loadfx( "vfx/ambient/steam/steam_wall_vent" );
level._effect["splash_body_shallow"] = loadfx( "vfx/ambient/water/splash_body_shallow" );
level._effect["splash_body_shallow_bigger"] = loadfx( "vfx/ambient/water/splash_body_shallow_bigger" );
level._effect["warm_ceiling_light_cone"] = loadfx( "vfx/ambient/lights/warm_ceiling_light_cone" );
level._effect["warm_glow_60"] = loadfx( "vfx/ambient/lights/warm_glow_60" );
level._effect["welding_sparks_funner"] = loadfx( "vfx/ambient/sparks/welding_sparks_funner" );
level._effect["white_light_100_nolight"] = loadfx( "vfx/ambient/lights/white_light_100_nolight" );
level._effect["white_light_60_beam_nolight"] = loadfx( "vfx/ambient/lights/white_light_60_beam_nolight" );
level._effect["white_light_60_soft_nolight"] = loadfx( "vfx/ambient/lights/white_light_60_soft_nolight" );
level._effect["iveco_headlight_l_night"] = loadfx( "vfx/gameplay/vehicles/iveco_headlight_l_night" );
level._effect["iveco_headlight_r_night"] = loadfx( "vfx/gameplay/vehicles/iveco_headlight_r_night" );
level._effect["car_taillight_btr80_eye"] = loadfx( "fx/misc/car_taillight_btr80_eye" );
level._effect["real_spot"] = loadfx( "fx/lights/lights_spotlight_modern_so_spotlight_castle" );
level._effect["cheap_spot"] = loadfx( "fx/lights/lights_spotlight_long_castle" );
level._effect["flashlight"] = loadfx( "fx/misc/flashlight" );
level._effect["office_muzzle_flash"] = loadfx( "fx/misc/factory_muzzle_light_big" );
level._effect["lights_console_blue"] = loadfx( "fx/lights/fxlight_blue" );
level._effect["spotlight_model_factory"] = loadfx( "fx/misc/spotlight_model_factory" );
level._effect["silencer_flash"] = loadfx( "fx/misc/factory_muzzle_light_big" );
level._effect["airstrip_explosion"] = loadfx( "fx/explosions/airstrip_explosion" );
level._effect["factory_rooftop_wind_gust"] = loadfx( "vfx/moments/factory/factory_rooftop_wind_gust" );
level._effect["factory_rooftop_wind_gust_ground"] = loadfx( "vfx/moments/factory/factory_rooftop_wind_gust_ground" );
level._effect["water_pipe_spray_small"] = loadfx( "fx/water/water_pipe_spray_small" );
level._effect["water_pipe_spray_wide"] = loadfx( "fx/water/water_pipe_spray_wide" );
level._effect["heavy_drip_splash_floor"] = loadfx( "fx/water/heavy_drip_splash_floor" );
level._effect["rain_splash_puddles_md"] = loadfx( "fx/weather/rain_splash_puddles_md" );
level._effect["light_blink_forklift"] = loadfx( "fx/misc/light_blink_forklift" );
level._effect["factory_single_splash_plr"] = loadfx( "vfx/moments/factory/factory_single_splash_plr" );
level._effect["lightning"] = loadfx( "fx/weather/lightning" );
level._effect["lightning_bolt"] = loadfx( "fx/weather/lightning_bolt" );
level._effect["lightning_bolt_lrg"] = loadfx( "fx/weather/lightning_bolt_lrg" );
maps\_weather::addlightningexploder( 10 );
maps\_weather::addlightningexploder( 11 );
maps\_weather::addlightningexploder( 12 );
level.nextlightning = gettime() + 1;
level._effect["rain_0"] = loadfx( "vfx/ambient/misc/no_effect" );
level._effect["rain_1"] = loadfx( "vfx/moments/factory/rain_light" );
level._effect["rain_2"] = loadfx( "vfx/moments/factory/rain_light" );
level._effect["rain_3"] = loadfx( "vfx/moments/factory/rain_light" );
level._effect["rain_4"] = loadfx( "vfx/moments/factory/rain_med1" );
level._effect["rain_5"] = loadfx( "vfx/moments/factory/rain_med1" );
level._effect["rain_6"] = loadfx( "vfx/moments/factory/rain_med1" );
level._effect["rain_7"] = loadfx( "vfx/moments/factory/rain_med2" );
level._effect["rain_8"] = loadfx( "vfx/moments/factory/rain_med2" );
level._effect["rain_9"] = loadfx( "vfx/moments/factory/rain_heavy" );
level._effect["rain_10"] = loadfx( "vfx/moments/factory/rain_heavy" );
thread maps\_weather::raininit( "none" );
thread factory_playerweather();
if ( !getdvarint( "r_reflectionProbeGenerate" ) )
{
maps\createfx\factory_fx::main();
maps\createfx\factory_sound::main();
}
}
fx_init()
{
maps\_global_fx_code::global_fx( "fx_stack_big_red_light", "vfx/ambient/lights/red_light_30_nolight", -2, "fx_stack_big_red_light" );
maps\_global_fx_code::global_fx( "fx_stack_big_smoke", "vfx/ambient/smoke/smokestack_big_blue", -2, "fx_stack_big_smoke" );
maps\_global_fx_code::global_fx( "fx_stack_small_red_light", "vfx/ambient/lights/red_light_30_nolight", -2, "fx_stack_small_red_light" );
maps\_global_fx_code::global_fx( "fx_stack_small_smoke", "vfx/ambient/smoke/smokestack_big_blue", -2, "fx_stack_small_smoke" );
maps\_global_fx_code::global_fx( "blue_light_60_nolight_FX_origin", "vfx/ambient/lights/blue_light_60_nolight", -2 );
maps\_global_fx_code::global_fx( "red_light_15_rain_nolight_FX_origin", "vfx/ambient/lights/red_light_30_nolight", -2 );
common_scripts\utility::flag_init( "fx_moving_pieces" );
common_scripts\utility::flag_init( "fx_player_watersheeting" );
common_scripts\utility::flag_init( "fx_screen_raindrops" );
common_scripts\utility::flag_init( "fx_thermal_glitch" );
common_scripts\utility::flag_init( "factory_rooftop_wind_gust" );
common_scripts\utility::flag_init( "factory_rooftop_wind_gust_moment" );
animscripts\utility::setfootstepeffect( "grass", loadfx( "vfx/moments/factory/factory_footstep_water" ) );
animscripts\utility::setfootstepeffectsmall( "grass", loadfx( "vfx/moments/factory/factory_footstep_water" ) );
animscripts\utility::setfootstepeffect( "gravel", loadfx( "vfx/moments/factory/factory_footstep_water" ) );
animscripts\utility::setfootstepeffectsmall( "gravel", loadfx( "vfx/moments/factory/factory_footstep_water" ) );
animscripts\utility::setfootstepeffect( "mud", loadfx( "vfx/moments/factory/factory_footstep_water" ) );
animscripts\utility::setfootstepeffectsmall( "mud", loadfx( "vfx/moments/factory/factory_footstep_water" ) );
fx_enable_ssao();
level.friendly_thermal_reflector_effect = level._effect["no_effect"];
level.assemblysmoke = undefined;
level.assemblysmokeflir2 = undefined;
level.assemblysmokepos = ( 5434.46, -1387.37, 279.125 );
level.smokeintensity = 0;
level.smokevolume = getent( "ambush_smoke_volume", "targetname" );
maps\_utility::setsaveddvar_cg_ng( "fx_alphathreshold", 9, 2 );
maps\_utility::setsaveddvar_cg_ng( "r_thermalColorOffset", 0, 0.23 );
maps\_utility::setsaveddvar_cg_ng( "r_thermalDetailScale", 0.375, 0.1 );
setsaveddvar( "r_thermalFadeControl", 1 );
setsaveddvar( "r_thermalFadeColor", "0.19 0.43 0.19 1.0" );
setsaveddvar( "r_thermalFadeMin", 1300 );
setsaveddvar( "r_thermalFadeMax", 1301 );
level.defaultreactivewind = [];
level.defaultreactivewind["strength"] = 1.0;
level.defaultreactivewind["amplitudeScale"] = 1.2;
level.defaultreactivewind["frequencyScale"] = 0.7;
setsaveddvar( "r_reactiveMotionWindStrength", level.defaultreactivewind["strength"] );
setsaveddvar( "r_reactiveMotionWindAmplitudeScale", level.defaultreactivewind["amplitudeScale"] );
setsaveddvar( "r_reactiveMotionWindFrequencyScale", level.defaultreactivewind["frequencyScale"] );
maps\_utility::add_earthquake( "chase_quake_giant", 0.8, 1.6, 12000 );
maps\_utility::add_earthquake( "chase_quake_big", 0.6, 1.6, 5500 );
maps\_utility::add_earthquake( "chase_quake_medium", 0.5, 1.0, 4000 );
maps\_utility::add_earthquake( "chase_quake_small", 0.4, 0.6, 3200 );
level thread fx_ambient_setup();
level thread fx_screen_raindrops();
}
fx_assembly_setup()
{
common_scripts\utility::exploder( "assembly_ambient" );
common_scripts\utility::exploder( "assembly_ambient_off_in_smoke" );
var_0 = getentarray( "factory_welding_base_01", "script_noteworthy" );
foreach ( var_2 in var_0 )
playfxontag( level._effect["glow_green_light_30_nolight"], var_2, "tag_light_green" );
}
lgt_intro_train_light()
{
}
lgt_assembly_flicker_anim( var_0 )
{
var_1 = var_0 getlightintensity();
var_0 setlightintensity( 0.01 );
wait( randomfloatrange( 2.0, 4.0 ) );
var_0 thread maps\_lights::generic_flickering();
wait( randomfloatrange( 6.0, 10.0 ) );
var_0 notify( "stop_dynamic_light_behavior" );
var_0 setlightintensity( var_1 );
}
lgt_ambush_begin()
{
var_0 = getentarray( "ambush", "targetname" );
var_1 = getentarray( "ambush_tv", "targetname" );
var_2 = getentarray( "ambush_assembly_lights", "script_noteworthy" );
foreach ( var_4 in var_0 )
var_4 setlightintensity( 1.75 );
foreach ( var_4 in var_1 )
var_4 setlightintensity( 3.0 );
var_8 = getentarray( "ambush_console", "targetname" );
foreach ( var_4 in var_8 )
var_4 = playfx( level._effect["lights_console_blue"], var_4.origin );
level waittill( "ambush_triggered" );
wait 16.75;
foreach ( var_4 in var_0 )
var_4 setlightintensity( 0.01 );
foreach ( var_4 in var_1 )
var_4 setlightintensity( 0.01 );
wait 0.75;
foreach ( var_4 in var_2 )
{
if ( maps\_lights::is_light_entity( var_4 ) )
thread lgt_assembly_flicker_anim( var_4 );
}
common_scripts\utility::flag_set( "lgt_factory_ambush_breach" );
}
lgt_vision_fog_init()
{
common_scripts\utility::flag_init( "lgt_factory_ambush_breach" );
common_scripts\utility::flag_init( "lgt_exit_weapon_room" );
setsaveddvar( "r_sky_fog_intensity", 0.75 );
thread trigger_vf_sunsamplesize();
thread trigger_vf_intro();
thread trigger_vf_factory_reveal();
thread trigger_vf_powerstealth();
thread trigger_vf_presat();
thread trigger_vf_weapon_reveal();
thread trigger_vf_ambush();
thread trigger_vf_ambush_breach();
thread trigger_vf_chase();
}
trigger_vf_sunsamplesize()
{
if ( level.ps3 == 1 )
setsaveddvar( "sm_sunsamplesizenear", 0.1 );
else
setsaveddvar( "sm_sunsamplesizenear", 0.25 );
common_scripts\utility::flag_wait( "lgt_factory_reveal" );
if ( level.ps3 == 1 )
maps\_utility::lerp_saveddvar( "sm_sunsamplesizenear", 0.1, 2 );
else
maps\_utility::lerp_saveddvar( "sm_sunsamplesizenear", 0.65, 2 );
common_scripts\utility::flag_wait( "lgt_factory_ingress" );
if ( level.ps3 == 1 )
maps\_utility::lerp_saveddvar( "sm_sunsamplesizenear", 0.3, 1 );
else
maps\_utility::lerp_saveddvar( "sm_sunsamplesizenear", 0.65, 2 );
}
trigger_vf_intro()
{
if ( maps\_utility::is_gen4() )
{
common_scripts\utility::flag_wait( "lgt_playerkill_done" );
maps\_art::dof_enable_script( 6.87, 52.83, 5, 1000, 7000, 0.15, 0.6 );
common_scripts\utility::flag_wait( "player_starts_moving" );
maps\_art::dof_disable_script( 2.5 );
}
}
trigger_vf_factory_reveal()
{
var_0 = getent( "lgt_main_hall_door", "script_noteworthy" );
var_1 = getentarray( "lgt_main_hall_flr", "script_noteworthy" );
var_2 = var_0 getlightradius();
var_0 setlightradius( var_2 / 10.0 );
foreach ( var_4 in var_1 )
{
var_2 = var_4 getlightradius();
var_4 setlightradius( var_2 / 10.0 );
}
common_scripts\utility::flag_wait_any( "entered_factory_1", "card_swiped" );
wait 0.5;
var_2 = var_0 getlightradius();
var_0 setlightradius( var_2 * 10 );
wait 1;
foreach ( var_4 in var_1 )
{
var_2 = var_4 getlightradius();
var_4 setlightradius( var_2 * 10.0 );
}
}
trigger_vf_powerstealth()
{
var_0 = getentarray( "lgt_powerstealth_racks", "script_noteworthy" );
foreach ( var_2 in var_0 )
var_2 setlightradius( 20 );
common_scripts\utility::flag_wait_any( "entered_factory_1", "card_swiped" );
foreach ( var_2 in var_0 )
var_2 setlightradius( 700 );
var_6 = 0;
common_scripts\utility::flag_wait( "lgt_flag_powerstealth" );
wait 0.1;
var_7 = 20;
if ( var_6 == 1 )
var_7 = 800;
var_6 = !var_6;
foreach ( var_2 in var_0 )
var_2 setlightradius( var_7 );
}
trigger_vf_presat()
{
common_scripts\utility::flag_wait( "presat_entrance" );
var_0 = getent( "lgt_presat_revolving_door", "script_noteworthy" );
if ( isdefined( var_0 ) )
var_0 setlightintensity( 2.5 );
var_1 = getent( "lgt_presat_warning", "script_noteworthy" );
if ( isdefined( var_1 ) )
{
var_2 = randomintrange( 5, 7 ) * 8;
var_1 setlightintensity( 1.25 );
for ( var_3 = 0; var_3 < var_2; var_3++ )
var_1 rotateyaw( 45, 1 );
var_1 setlightintensity( 0.1 );
}
}
alphabetizeentarray( var_0 )
{
if ( var_0.size <= 1 )
return var_0;
var_1 = [ var_0.size ];
for ( var_2 = 0; var_2 < var_0.size; var_2++ )
{
var_3 = var_0[var_2];
if ( isdefined( var_3.targetname ) )
{
var_1[var_2] = var_3.targetname;
continue;
}
var_1[var_2] = "";
}
for ( var_4 = var_1.size - 1; var_4 >= 1; var_4-- )
{
var_5 = var_1[var_4];
var_6 = var_0[var_4];
var_7 = var_4;
for ( var_2 = 0; var_2 < var_4; var_2++ )
{
var_8 = var_1[var_2];
if ( stricmp( var_8, var_5 ) > 0 )
{
var_5 = var_8;
var_6 = var_0[var_2];
var_7 = var_2;
}
}
if ( var_7 != var_4 )
{
var_1[var_7] = var_1[var_4];
var_0[var_7] = var_0[var_4];
var_1[var_4] = var_5;
var_0[var_4] = var_6;
}
}
return var_0;
}
changelightintensityovertime( var_0, var_1 )
{
var_2 = self getlightintensity();
var_3 = int( var_1 / 0.05 );
var_4 = ( var_0 - var_2 ) / var_3;
var_5 = var_2;
for ( var_6 = 0; var_6 < var_3; var_6++ )
{
var_5 = var_5 + var_4;
self setlightintensity( var_5 );
wait 0.05;
}
self setlightintensity( var_0 );
}
trigger_vf_weapon_reveal()
{
setsaveddvar( "r_fastModelPrimaryLightCheck", "1" );
if ( maps\_utility::is_gen4() )
lgt_weapon_reveal_sequence_ng();
else
{
var_0 = getent( "satellite_room_vert_pieces", "targetname" );
var_1 = getent( "satellite_ROG_01", "targetname" );
var_2 = getent( "satellite_ROG_02", "targetname" );
var_3 = getent( "satellite_ROG_03", "targetname" );
var_4 = getent( "satellite_ROG_04", "targetname" );
var_5 = getent( "satellite_ROG_05", "targetname" );
var_6 = getent( "satellite_ROG_06", "targetname" );
var_7 = getent( "satellite_room_rack_system", "targetname" );
var_8 = getent( "satellite_room_rog_holder", "targetname" );
var_9 = spawn( "script_model", ( 7202, -984, 324 ) );
var_9 setmodel( "tag_origin" );
var_0 retargetscriptmodellighting( var_9 );
var_1 retargetscriptmodellighting( var_9 );
var_2 retargetscriptmodellighting( var_9 );
var_3 retargetscriptmodellighting( var_9 );
var_4 retargetscriptmodellighting( var_9 );
var_5 retargetscriptmodellighting( var_9 );
var_6 retargetscriptmodellighting( var_9 );
var_7 retargetscriptmodellighting( var_9 );
var_8 retargetscriptmodellighting( var_9 );
lgt_weapon_reveal_sequence();
}
}
lgt_weapon_rim_dim( var_0, var_1 )
{
foreach ( var_3 in var_0 )
var_3 thread changelightintensityovertime( 0.2, 2.0 );
foreach ( var_3 in var_1 )
var_3 thread changelightintensityovertime( 0.1, 2.0 );
wait 2.0;
foreach ( var_3 in var_0 )
var_3 setlightradius( 13 );
}
lgt_weapon_reveal_sequence()
{
var_0 = getentarray( "lgt_sat_room_amber", "script_noteworthy" );
var_1 = getentarray( "lgt_sat_room_rim", "script_noteworthy" );
var_2 = getentarray( "lgt_sat_room_rim_keep", "script_noteworthy" );
foreach ( var_4 in var_1 )
var_4 setlightintensity( 0.3 );
foreach ( var_4 in var_2 )
var_4 setlightintensity( 0.3 );
common_scripts\utility::flag_wait( "lgt_weapon_room_jump" );
wait 4.5;
foreach ( var_4 in var_0 )
var_4 thread changelightintensityovertime( 1, 0.75 );
common_scripts\utility::flag_wait( "lgt_weapon_sequencing" );
wait 1;
level.player thread maps\factory_audio::sfx_sat_room_lights( "scn_factory_satroom_lights_01" );
thread lgt_weapon_rim_dim( var_1, var_2 );
var_10 = getentarray( "lgt_weapon_room_01", "script_noteworthy" );
foreach ( var_4 in var_10 )
{
var_12 = var_4 getlightintensity() * 20;
var_4 setlightintensity( 1.25 );
}
wait 1;
level.player thread maps\factory_audio::sfx_sat_room_lights( "scn_factory_satroom_lights_02" );
var_10 = getentarray( "lgt_weapon_room_03", "script_noteworthy" );
foreach ( var_4 in var_10 )
{
var_4 thread changelightintensityovertime( 2.0, 0.1 );
var_12 = var_4 getlightintensity() * 40;
}
wait 1;
level.player thread maps\factory_audio::sfx_sat_room_lights( "scn_factory_satroom_lights_03" );
var_10 = getentarray( "lgt_weapon_room_04", "script_noteworthy" );
foreach ( var_4 in var_10 )
{
var_12 = var_4 getlightintensity() * 20;
var_4 setlightintensity( 2 );
}
}
lgt_weapon_reveal_sequence_ng()
{
var_0 = getentarray( "lgt_sat_room_amber", "script_noteworthy" );
var_1 = getentarray( "lgt_sat_room_rim", "script_noteworthy" );
var_2 = getentarray( "lgt_sat_room_rim_keep", "script_noteworthy" );
foreach ( var_4 in var_1 )
var_4 setlightintensity( 0.85 );
foreach ( var_4 in var_2 )
var_4 setlightintensity( 0.85 );
common_scripts\utility::flag_wait( "lgt_weapon_room_jump" );
wait 4.5;
foreach ( var_4 in var_0 )
var_4 thread changelightintensityovertime( 1.0, 0.75 );
common_scripts\utility::flag_wait( "lgt_weapon_sequencing" );
wait 1;
level.player thread maps\factory_audio::sfx_sat_room_lights( "scn_factory_satroom_lights_01" );
thread lgt_weapon_rim_dim( var_1, var_2 );
var_10 = getentarray( "lgt_weapon_room_01", "script_noteworthy" );
foreach ( var_4 in var_10 )
{
var_12 = var_4 getlightintensity() * 20;
var_4 setlightintensity( 2.0 );
}
wait 2;
level.player thread maps\factory_audio::sfx_sat_room_lights( "scn_factory_satroom_lights_02" );
var_10 = getentarray( "lgt_weapon_room_03", "script_noteworthy" );
foreach ( var_4 in var_10 )
var_4 thread changelightintensityovertime( 3.25, 0.1 );
wait 1;
level.player thread maps\factory_audio::sfx_sat_room_lights( "scn_factory_satroom_lights_03" );
var_10 = getentarray( "lgt_weapon_room_04", "script_noteworthy" );
foreach ( var_4 in var_10 )
var_4 setlightintensity( 3 );
}
trigger_vf_ambush()
{
common_scripts\utility::flag_wait_any( "lgt_factory_ambush", "lgt_ambush_jump" );
maps\_utility::vision_set_fog_changes( "factory_ambush", 1 );
thread lgt_ambush_begin();
}
trigger_vf_ambush_breach()
{
common_scripts\utility::flag_wait( "lgt_factory_ambush_breach" );
maps\_utility::vision_set_fog_changes( "", 1 );
}
trigger_vf_chase()
{
}
fx_track_thermal()
{
level thread fx_thermal_glitch_flashbang_spotlight();
var_0 = 0;
for (;;)
{
if ( level.player.thermal )
{
if ( !var_0 )
{
var_0 = 1;
setexpfog( 0, 110, 0.4, 0.4, 0.4, 0, 0 );
setsaveddvar( "r_cc_mode", "clut" );
maps\_utility::stop_exploder( "assembly_ambient_off_in_thermal" );
}
}
else if ( var_0 )
{
var_0 = 0;
if ( isdefined( level.smokevolume ) && level.player istouching( level.smokevolume ) )
setexpfog( 0, 110, 0.4, 0.4, 0.4, level.smokeintensity, 0 );
setsaveddvar( "r_cc_mode", "off" );
common_scripts\utility::exploder( "assembly_ambient_off_in_thermal" );
}
wait 0.05;
}
}
fx_thermal_glitch_transition( var_0, var_1, var_2, var_3 )
{
self endon( "fx_thermal_glitch" );
var_4 = getdvarvector( "r_cc_toneBias1" );
var_5 = getdvarvector( "r_cc_toneBias2" );
var_6 = getdvarint( "r_cc_lerp1" );
var_7 = getdvarint( "r_cc_lerp2" );
var_8 = 0.1 * int( 10.0 * abs( var_5[0] - var_1[0] ) );
while ( var_8 >= 0.05 )
{
var_8 = var_8 - 0.05;
var_9 = 1.0 - var_8;
setsaveddvar( "r_cc_toneBias1", vectorlerp( var_4, var_0, var_9 ) );
setsaveddvar( "r_cc_toneBias2", vectorlerp( var_5, var_1, var_9 ) );
setsaveddvar( "r_cc_lerp1", var_6 + var_9 * ( var_6 - var_2 ) );
setsaveddvar( "r_cc_lerp2", var_7 + var_9 * ( var_6 - var_3 ) );
wait 0.05;
}
setsaveddvar( "r_cc_toneBias1", var_0 );
setsaveddvar( "r_cc_toneBias2", var_1 );
setsaveddvar( "r_cc_lerp1", var_2 );
setsaveddvar( "r_cc_lerp2", var_3 );
}
fx_thermal_glitch_flashbang_spotlight()
{
level endon( "stop_thermal_glitch" );
level.player endon( "end_thermal" );
var_0 = 8;
var_1 = 4;
var_2 = var_0;
level.player.thermal_blind_status = "";
for (;;)
{
var_3 = level.player common_scripts\utility::waittill_any_return( "flashed", "spotlight_blind" );
if ( level.player.thermal && isalive( level.player ) )
{
if ( var_3 == "flashed" )
var_2 = var_0;
else if ( var_3 == "spotlight_blind" )
var_2 = var_1;
if ( level.player.thermal_blind_status != "blind" )
{
common_scripts\utility::flag_set( "fx_thermal_glitch" );
wait 0.01;
level.player visionsetthermalforplayer( "factory_thermal_blowout_1", 0.0 );
common_scripts\utility::flag_clear( "fx_thermal_glitch" );
level thread fx_thermal_glitch_transition( ( 0.5, 0.5, 0.5 ), ( 1, 1, 1 ), 0, 5000 );
level.player thread fx_thermal_glitch_timer( var_2 );
level.player.thermal_blind_status = "blind";
}
else if ( level.player.thermal_blind_status == "blind" )
{
level.player notify( "reset_blind_timer" );
level.player thread fx_thermal_glitch_timer( var_2 );
}
}
wait 0.1;
}
}
fx_thermal_glitch_timer( var_0 )
{
self endon( "reset_blind_timer" );
wait( var_0 );
common_scripts\utility::flag_set( "fx_thermal_glitch" );
wait 0.01;
level.player visionsetthermalforplayer( "factory_flir2", 0.0 );
common_scripts\utility::flag_clear( "fx_thermal_glitch" );
level thread fx_thermal_glitch_transition( ( 0, 0, 0 ), ( 0, 0, 0 ), 0, 500 );
level.player.thermal_blind_status = "normal";
}
fx_ambush_spawn_assembly_smoke()
{
var_0 = getentarray( "gas_node", "targetname" );
foreach ( var_2 in var_0 )
playfx( level._effect["factory_ambush_smoke_grenade"], var_2.origin, ( 0, 0, 1 ), ( 1, 0, 0 ) );
common_scripts\utility::waitframe();
level.assemblysmoke = spawn( "script_model", level.player.origin );
level.assemblysmoke setmodel( "tag_origin" );
level.assemblysmoke addpitch( 270 );
level.assemblysmoke linkto( level.player );
playfxontag( level._effect["factory_ambush_assembly_smoke"], level.assemblysmoke, "tag_origin" );
thread maps\factory_audio::ambush_smoke_grenade_explo_sfx();
level.assemblysmokeflir2 = spawn( "script_model", level.assemblysmokepos );
level.assemblysmokeflir2 setmodel( "tag_origin" );
level.assemblysmokeflir2 addpitch( 270 );
playfxontag( level._effect["factory_ambush_assembly_smoke_flir2"], level.assemblysmokeflir2, "tag_origin" );
level.smokeintensity = 0.6;
level thread fx_ambush_smoke_killer();
setexpfog( 0, 110, 0.4, 0.4, 0.4, 0, 0.05 );
wait 0.05;
setexpfog( 0, 110, 0.4, 0.4, 0.4, level.smokeintensity, 8 );
wait 3;
fx_disable_ssao();
maps\_utility::stop_exploder( "ambush_door_exploder_strobe" );
maps\_utility::stop_exploder( "ambush_door_exploder_strobe_ng" );
maps\_utility::stop_exploder( "assembly_ambient_off_in_smoke" );
}
fx_ambush_smoke_killer()
{
common_scripts\utility::flag_wait( "ambush_stop_smoke" );
fx_enable_ssao();
if ( isdefined( level.assemblysmoke ) )
{
stopfxontag( level._effect["factory_ambush_assembly_smoke"], level.assemblysmoke, "tag_origin" );
level.assemblysmoke delete();
}
if ( isdefined( level.assemblysmokeflir2 ) )
{
stopfxontag( level._effect["factory_ambush_assembly_smoke_flir2"], level.assemblysmokeflir2, "tag_origin" );
level.assemblysmokeflir2 delete();
}
if ( isdefined( level.smokevolume ) && level.player istouching( level.smokevolume ) )
{
while ( level.smokeintensity >= 0.05 )
{
level.smokeintensity = level.smokeintensity - 0.05;
if ( !level.player.thermal )
setexpfog( 0, 110, 0.4, 0.4, 0.4, level.smokeintensity, 0.1 );
wait 0.1;
}
}
level.smokeintensity = 0;
common_scripts\utility::exploder( "assembly_ambient_off_in_smoke" );
maps\_utility::vision_set_fog_changes( "", 2 );
}
fx_ambush_welding_start( var_0 )
{
if ( !isdefined( level.flag[var_0.animname] ) )
common_scripts\utility::flag_init( var_0.animname );
if ( !common_scripts\utility::flag( "factory_assembly_line_resume_speed_front" ) && !common_scripts\utility::flag( "factory_assembly_line_resume_speed_back" ) )
return;
common_scripts\utility::flag_clear( var_0.animname );
var_1 = 0;
while ( isdefined( var_0 ) && !common_scripts\utility::flag( var_0.animname ) )
{
if ( common_scripts\utility::flag( "factory_assembly_line_resume_speed_front" ) && common_scripts\utility::flag( "factory_assembly_line_resume_speed_back" ) && common_scripts\utility::flag( "fx_moving_pieces" ) )
playfxontag( level._effect["welding_sparks_funner"], var_0, "tag_fx_01" );
wait 0.5;
}
if ( isdefined( var_0 ) )
killfxontag( level._effect["welding_sparks_funner"], var_0, "tag_fx_01" );
}
fx_ambush_welding_stop( var_0 )
{
common_scripts\utility::flag_set( var_0.animname );
stopfxontag( level._effect["welding_sparks_funner"], var_0, "tag_fx_01" );
}
fx_ambush_piece_start( var_0 )
{
var_1 = "piece" + var_0.mover_prefab_id;
if ( !isdefined( level.flag[var_1] ) )
common_scripts\utility::flag_init( var_1 );
if ( !common_scripts\utility::flag( "factory_assembly_line_resume_speed_front" ) || !common_scripts\utility::flag( "factory_assembly_line_resume_speed_back" ) )
return;
common_scripts\utility::flag_clear( var_1 );
while ( !common_scripts\utility::flag( var_1 ) )
{
if ( common_scripts\utility::flag( "fx_moving_pieces" ) )
playfxontag( level._effect["factory_moving_piece_light"], var_0, "j_anim_jnt_main_piston_arm_btm" );
wait 0.5;
}
}
fx_ambush_piece_stop( var_0 )
{
common_scripts\utility::flag_set( "piece" + var_0.mover_prefab_id );
stopfxontag( level._effect["factory_moving_piece_light"], var_0, "j_anim_jnt_main_piston_arm_btm" );
}
fx_ambush_chest_blood( var_0 )
{
var_1 = common_scripts\utility::spawn_tag_origin();
var_0.allowdeath = 0;
var_1 linkto( var_0, "j_pectoral_le", ( 0, -5, 0 ), ( 0, 270, 0 ) );
playfxontag( level._effect["factory_ambush_chest_blood"], var_1, "tag_origin" );
wait 20;
var_1 delete();
}
fx_assembly_cardreader_unlock( var_0 )
{
maps\_utility::stop_exploder( "assembly_cardreader_lock" );
common_scripts\utility::exploder( "assembly_cardreader_unlock" );
fx_show_hide( "assembly_cardreader_unlock", "assembly_cardreader_lock" );
}
fx_ambient_setup()
{
level.fx_outdoor_triggers = [];
common_scripts\utility::array_thread( getentarray( "fx_intro_ambient", "targetname" ), ::fx_intro_ambient );
common_scripts\utility::array_thread( getentarray( "fx_entrance_ambient", "targetname" ), ::fx_entrance_ambient );
common_scripts\utility::array_thread( getentarray( "fx_powerstealth_ambient", "targetname" ), ::fx_powerstealth_ambient );
common_scripts\utility::array_thread( getentarray( "fx_presat_ambient", "targetname" ), ::fx_presat_ambient );
common_scripts\utility::array_thread( getentarray( "fx_sat_ambient", "targetname" ), ::fx_sat_ambient );
common_scripts\utility::array_thread( getentarray( "fx_roof_ambient", "targetname" ), ::fx_roof_ambient );
common_scripts\utility::array_thread( getentarray( "fx_chase_ambient", "targetname" ), ::fx_chase_ambient );
level thread fx_outdoor_ambient();
}
fx_intro_ambient()
{
level.fx_outdoor_triggers[level.fx_outdoor_triggers.size] = self;
for (;;)
{
self waittill( "trigger" );
common_scripts\utility::exploder( "intro_ambient" );
if ( maps\_utility::is_gen4() )
common_scripts\utility::exploder( "intro_ambient_ng" );
while ( level.player istouching( self ) )
wait 0.1;
maps\_utility::stop_exploder( "intro_ambient" );
maps\_utility::stop_exploder( "intro_ambient_ng" );
}
}
fx_entrance_ambient()
{
for (;;)
{
self waittill( "trigger" );
common_scripts\utility::exploder( "entrance_ambient" );
while ( level.player istouching( self ) )
wait 0.1;
maps\_utility::stop_exploder( "entrance_ambient" );
}
}
fx_powerstealth_ambient()
{
for (;;)
{
self waittill( "trigger" );
common_scripts\utility::exploder( "powerstealth_ambient" );
if ( maps\_utility::is_gen4() )
common_scripts\utility::exploder( "powerstealth_ambient_ng" );
while ( level.player istouching( self ) )
wait 0.1;
maps\_utility::stop_exploder( "powerstealth_ambient" );
maps\_utility::stop_exploder( "powerstealth_ambient_ng" );
}
}
fx_presat_ambient()
{
for (;;)
{
self waittill( "trigger" );
common_scripts\utility::exploder( "presat_ambient" );
while ( level.player istouching( self ) )
wait 0.1;
maps\_utility::stop_exploder( "presat_ambient" );
}
}
fx_sat_ambient()
{
for (;;)
{
self waittill( "trigger" );
common_scripts\utility::exploder( "sat_ambient" );
if ( maps\_utility::is_gen4() )
common_scripts\utility::exploder( "sat_ambient_ng" );
while ( level.player istouching( self ) )
wait 0.1;
maps\_utility::stop_exploder( "sat_ambient" );
maps\_utility::stop_exploder( "sat_ambient_ng" );
}
}
fx_roof_ambient()
{
level.fx_outdoor_triggers[level.fx_outdoor_triggers.size] = self;
for (;;)
{
self waittill( "trigger" );
common_scripts\utility::exploder( "roof_ambient" );
if ( maps\_utility::is_gen4() )
common_scripts\utility::exploder( "roof_ambient_ng" );
while ( level.player istouching( self ) )
wait 0.1;
maps\_utility::stop_exploder( "roof_ambient" );
maps\_utility::stop_exploder( "roof_ambient_ng" );
}
}
fx_chase_ambient()
{
level.fx_outdoor_triggers[level.fx_outdoor_triggers.size] = self;
for (;;)
{
self waittill( "trigger" );
common_scripts\utility::exploder( "chase_ambient" );
while ( level.player istouching( self ) )
wait 0.1;
maps\_utility::stop_exploder( "chase_ambient" );
}
}
fx_outdoor_ambient()
{
var_0 = 0;
for (;;)
{
var_1 = 0;
foreach ( var_3 in level.fx_outdoor_triggers )
var_1 = var_1 || level.player istouching( var_3 );
if ( var_1 != var_0 )
{
if ( var_1 )
{
common_scripts\utility::exploder( "chase_intro_lamp_on" );
common_scripts\utility::exploder( "outdoor_ambient" );
common_scripts\utility::exploder( "smokestacks" );
if ( maps\_utility::is_gen4() )
common_scripts\utility::exploder( "outdoor_ambient_ng" );
}
else
{
maps\_utility::stop_exploder( "chase_intro_lamp_on" );
maps\_utility::stop_exploder( "outdoor_ambient" );
maps\_utility::stop_exploder( "smokestacks" );
maps\_utility::stop_exploder( "outdoor_ambient_ng" );
}
var_0 = var_1;
}
wait 0.1;
}
}
fx_intro_rain()
{
common_scripts\utility::exploder( "lights_rain_cards" );
common_scripts\utility::flag_wait( "entered_conveyor" );
maps\_utility::stop_exploder( "lights_rain_cards" );
}
fx_intro_cardreader_unlock()
{
maps\_utility::stop_exploder( "intro_cardreader_lock" );
common_scripts\utility::exploder( "intro_cardreader_unlock" );
fx_show_hide( "intro_cardreader_unlock", "intro_cardreader_lock" );
}
fx_set_wind( var_0, var_1, var_2, var_3 )
{
thread maps\_utility::lerp_saveddvar( "r_reactiveMotionWindStrength", var_0, var_3 );
thread maps\_utility::lerp_saveddvar( "r_reactiveMotionWindAmplitudeScale", var_1, var_3 );
thread maps\_utility::lerp_saveddvar( "r_reactiveMotionWindFrequencyScale", var_2, var_3 );
}
fx_show_hide( var_0, var_1 )
{
if ( isdefined( var_0 ) )
{
var_2 = getentarray( var_0, "targetname" );
foreach ( var_4 in var_2 )
var_4 show();
}
if ( isdefined( var_1 ) )
{
var_2 = getentarray( var_1, "targetname" );
foreach ( var_4 in var_2 )
var_4 hide();
}
}
fx_show_delete( var_0, var_1 )
{
if ( isdefined( var_0 ) )
{
var_2 = getentarray( var_0, "targetname" );
foreach ( var_4 in var_2 )
var_4 show();
}
if ( isdefined( var_1 ) )
{
var_2 = getentarray( var_1, "targetname" );
foreach ( var_4 in var_2 )
var_4 delete();
}
}
lightning_flash( var_0, var_1, var_2 )
{
level notify( "emp_lighting_flash" );
level endon( "emp_lighting_flash" );
if ( level.createfx_enabled )
return;
var_1 = 1;
if ( !isdefined( level.old_type ) )
level.old_type = 9;
if ( !isdefined( var_0 ) )
var_0 = ( -20, 60, 0 );
if ( !isdefined( var_2 ) )
{
var_2 = randomint( 10 );
if ( var_2 == level.old_type )
return;
}
level.old_type = var_2;
if ( maps\_utility::is_gen4() )
{
var_3 = 4.0;
switch ( var_2 )
{
case 0:
lightning_single_flash( 1.5 * var_3, 1.5 * var_3, 1.8 * var_3, 0.8, 3 );
lightning_single_flash( 1.7 * var_3, 1.7 * var_3, 2.1 * var_3, 1.0, 3 );
lightning_single_flash( 1.5 * var_3, 1.5 * var_3, 1.8 * var_3, 0.8, 9 );
lightning_single_flash( 3.2, 3.2, 3.6, 1.0, 3 );
lightning_normal();
wait( randomfloatrange( 1, 5 ) );
break;
case 1:
lightning_single_flash( 1.7 * var_3, 1.7 * var_3, 2.1 * var_3, 1.0, 6 );
lightning_single_flash( 1.0 * var_3, 1.0 * var_3, 1.3 * var_3, 0.8, 9 );
lightning_single_flash( 1.9 * var_3, 1.9 * var_3, 2.4 * var_3, 0.8, 6 );
lightning_single_flash( 1.0 * var_3, 1.0 * var_3, 1.3 * var_3, 1.0, 3 );
lightning_normal();
wait( randomfloatrange( 1, 4 ) );
break;
case 2:
lightning_single_flash( 1.5 * var_3, 1.5 * var_3, 1.8 * var_3, 1.0, 6 );
lightning_normal();
wait( randomfloatrange( 0.1, 2 ) );
break;
case 3:
lightning_single_flash( 1.7 * var_3, 1.7 * var_3, 2.1 * var_3, 1.0, 6 );
lightning_normal();
wait( randomfloatrange( 0.3, 2 ) );
break;
case 4:
lightning_single_flash( 1.9 * var_3, 1.9 * var_3, 2.3 * var_3, 1.0, 6 );
lightning_normal();
wait( randomfloatrange( 0.3, 2 ) );
break;
case 5:
lightning_single_flash( 1.0 * var_3, 1.0 * var_3, 1.3 * var_3, 0.8, 3 );
lightning_single_flash( 1.0 * var_3, 1.0 * var_3, 1.3 * var_3, 0.8, 3 );
lightning_normal();
wait( randomfloatrange( 0.4, 4 ) );
break;
case 9:
case 8:
case 7:
case 6:
var_1 = randomintrange( 1, 3 );
for ( var_4 = 0; var_4 < var_1; var_4++ )
lightning_single_flash( 0.7 * var_3, 0.7 * var_3, 0.9 * var_3, 1.0, randomfloatrange( 2, 9 ) );
lightning_normal();
wait( randomfloatrange( 0.1, 2 ) );
break;
}
}
else
{
switch ( var_2 )
{
case 0:
lightning_single_flash( 0.5, 0.5, 0.8, 0.8, 3 );
lightning_single_flash( 0.5, 0.6, 0.8, 1.0, 3 );
lightning_single_flash( 0.5, 0.6, 0.8, 0.8, 9 );
lightning_single_flash( 1.7, 1.7, 1.9, 1.0, 3 );
lightning_normal();
wait( randomfloatrange( 1, 5 ) );
break;
case 1:
lightning_single_flash( 1.7, 1.7, 1.9, 1.0, 6 );
lightning_single_flash( 0.5, 0.5, 0.8, 0.8, 9 );
lightning_single_flash( 1.7, 1.7, 1.9, 0.8, 6 );
lightning_single_flash( 0.8, 0.9, 1.2, 1.0, 3 );
lightning_normal();
wait( randomfloatrange( 1, 4 ) );
break;
case 2:
lightning_single_flash( 0.5, 0.5, 0.8, 1.0, 6 );
lightning_normal();
wait( randomfloatrange( 0.1, 2 ) );
break;
case 3:
lightning_single_flash( 1.0, 1.0, 1.5, 1.0, 6 );
lightning_normal();
wait( randomfloatrange( 0.3, 2 ) );
break;
case 4:
lightning_single_flash( 1.2, 1.2, 1.5, 1.0, 6 );
lightning_normal();
wait( randomfloatrange( 0.3, 2 ) );
break;
case 5:
lightning_single_flash( 0.8, 0.8, 1.2, 0.8, 3 );
lightning_single_flash( 0.8, 0.8, 1.2, 0.8, 3 );
lightning_normal();
wait( randomfloatrange( 0.4, 4 ) );
break;
case 9:
case 8:
case 7:
case 6:
var_1 = randomintrange( 1, 3 );
for ( var_4 = 0; var_4 < var_1; var_4++ )
lightning_single_flash( 0.7, 0.7, 0.9, 1.0, randomfloatrange( 2, 12 ) );
lightning_normal();
wait( randomfloatrange( 0.1, 2 ) );
break;
}
}
wait( randomfloatrange( 0.05, 0.061 ) );
lightning_normal();
}
lightning_single_flash( var_0, var_1, var_2, var_3, var_4 )
{
level.defaultsunlight = getmapsunlight();
var_5 = level.defaultsunlight[0];
var_6 = level.defaultsunlight[1];
var_7 = level.defaultsunlight[2];
var_8 = ( var_0 - var_5 ) / var_4;
var_9 = ( var_1 - var_6 ) / var_4;
for ( var_10 = ( var_2 - var_7 ) / var_4; var_4 * var_3 > 0; var_2 = var_2 - var_10 )
{
setsunlight( var_0, var_1, var_2 );
wait 0.05;
var_4 = var_4 - 1;
var_0 = var_0 - var_8;
var_1 = var_1 - var_9;
}
}
lightning_flash_primary( var_0, var_1 )
{
if ( isdefined( var_0 ) )
{
var_0 setlightintensity( 3.2 );
if ( !isdefined( var_1 ) )
var_1 = randomintrange( 1, 4 );
for ( var_2 = 0; var_2 < var_1; var_2++ )
{
var_3 = randomint( 3 );
switch ( var_3 )
{
case 0:
wait 0.05;
var_0 setlightintensity( 2.6 );
wait 0.05;
var_0 setlightintensity( 1.75 );
break;
case 1:
wait 0.05;
var_0 setlightintensity( 2.2 );
wait 0.05;
var_0 setlightintensity( 3.15 );
wait 0.05;
var_0 setlightintensity( 1.7 );
break;
case 2:
wait 0.05;
var_0 setlightintensity( 1.2 );
wait 0.05;
var_0 setlightintensity( 2.0 );
wait 0.05;
var_0 setlightintensity( 3.2 );
wait 0.05;
var_0 setlightintensity( 2.2 );
break;
}
wait( randomfloatrange( 0.05, 0.65 ) );
var_0 setlightintensity( 0.1 );
}
var_0 setlightintensity( 0.1 );
}
}
lightning_normal()
{
resetsunlight();
resetsundirection();
}
factory_playerweather()
{
for (;;)
{
playfx( level._effect["rain_drops"], level.player.origin + ( 0, 0, 300 ), ( 0, 0, -1 ), ( 1, 0, 0 ) );
wait 0.3;
}
}
factory_chase_playerweather()
{
maps\_weather::rainnone( 1 );
for (;;)
{
playfx( level._effect["rain_drops"], level.player.origin + ( 0, 0, 300 ), ( -1, 0, 0 ) );
wait 0.3;
}
}
fx_assembly_monitor_bink_init()
{
fx_show_hide( "ambush_breach_ally_monitor_1_bink", "ambush_breach_ally_monitor_1_desktop" );
fx_show_hide( "ambush_breach_ally_monitor_2_bink", "ambush_breach_ally_monitor_2_desktop" );
fx_show_hide( undefined, "ambush_breach_ally_monitor_1_dim" );
fx_show_hide( undefined, "ambush_breach_ally_monitor_2_dim" );
setsaveddvar( "cg_cinematicFullScreen", "0" );
cinematicingameloopresident( "factory_computer_screensaver", 1 );
thread ambush_screensaver_loop();
}
ambush_screensaver_loop()
{
level endon( "stop_screensaver_bink" );
thread fx_assembly_monitor_bink_load_and_play();
for (;;)
{
cinematicingameloopresident( "factory_computer_screensaver", 1 );
wait 1;
while ( iscinematicplaying() )
wait 0.5;
}
}
fx_assembly_monitor_bink_load_and_play()
{
common_scripts\utility::flag_wait( "ambush_triggered" );
level notify( "stop_screensaver_bink" );
cinematicingame( "factory_computer_pda" );
pausecinematicingame( 1 );
level waittill( "start_ambush_bink" );
level notify( "stop_screensaver_bink" );
pausecinematicingame( 0 );
}
fx_assembly_monitor_bink_start( var_0 )
{
level notify( "start_ambush_bink" );
fx_show_delete( "ambush_breach_ally_monitor_1_dim", "ambush_breach_ally_monitor_1_desktop" );
fx_show_delete( "ambush_breach_ally_monitor_2_dim", "ambush_breach_ally_monitor_2_desktop" );
}
fx_enable_ssao()
{
if ( maps\_utility::is_gen4() )
{
setsaveddvar( "r_ssaoStrength", 3.0 );
setsaveddvar( "r_ssaoPower", 1.2 );
}
}
fx_disable_ssao()
{
if ( maps\_utility::is_gen4() )
{
setsaveddvar( "r_ssaoStrength", 0.5 );
setsaveddvar( "r_ssaoPower", 0.5 );
}
}
fx_assembly_ally_monitor_swap_1( var_0 )
{
wait 0.5;
fx_show_delete( "ambush_breach_ally_monitor_1_desktop", "ambush_breach_ally_monitor_1_bink" );
wait 1.5;
fx_show_delete( "ambush_breach_ally_monitor_1_dim", "ambush_breach_ally_monitor_1_desktop" );
wait 0.1;
common_scripts\utility::exploder( "ambush_ally_monitor_1_search" );
}
fx_assembly_ally_monitor_swap_2( var_0 )
{
wait 0.5;
fx_show_delete( "ambush_breach_ally_monitor_2_desktop", "ambush_breach_ally_monitor_2_bink" );
wait 1.2;
fx_show_delete( "ambush_breach_ally_monitor_2_dim", "ambush_breach_ally_monitor_2_desktop" );
wait 0.1;
common_scripts\utility::exploder( "ambush_ally_monitor_2_search" );
}
fx_assembly_ally_monitor_error( var_0 )
{
maps\_utility::stop_exploder( "ambush_ally_monitor_1_search" );
maps\_utility::stop_exploder( "ambush_ally_monitor_2_search" );
wait 0.5;
common_scripts\utility::exploder( "ambush_ally_monitor_error" );
wait 10.7;
maps\_utility::stop_exploder( "ambush_ally_monitor_error" );
fx_show_delete( undefined, "ambush_breach_ally_monitor_1_dim" );
fx_show_delete( undefined, "ambush_breach_ally_monitor_2_dim" );
maps\_utility::stop_exploder( "ambush_ally_monitor_1_search" );
maps\_utility::stop_exploder( "ambush_ally_monitor_2_search" );
fx_show_delete( undefined, "ambush_breach_ally_monitor_1_bink" );
fx_show_delete( undefined, "ambush_breach_ally_monitor_2_bink" );
fx_show_delete( undefined, "ambush_breach_ally_monitor_1_desktop" );
fx_show_delete( undefined, "ambush_breach_ally_monitor_2_desktop" );
}
fx_assembly_ally_monitor_delete()
{
fx_show_delete( "ambush_breach_ally_monitor_1_desktop", "ambush_breach_ally_monitor_1_bink" );
fx_show_delete( "ambush_breach_ally_monitor_2_desktop", "ambush_breach_ally_monitor_2_bink" );
wait 12;
maps\_utility::stop_exploder( "ambush_ally_monitor_1_search" );
maps\_utility::stop_exploder( "ambush_ally_monitor_2_search" );
wait 7.5;
fx_show_delete( undefined, "ambush_breach_ally_monitor_1_desktop" );
fx_show_delete( undefined, "ambush_breach_ally_monitor_2_desktop" );
}
fx_assembly_ceiling_cables( var_0 )
{
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_01"], "tag_fx_001" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_02"], "tag_fx_001" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_03"], "tag_fx_001" );
wait 0.05;
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_01"], "tag_fx_002" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_02"], "tag_fx_002" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_03"], "tag_fx_002" );
wait 0.05;
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_01"], "tag_fx_003" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_02"], "tag_fx_003" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_03"], "tag_fx_003" );
wait 0.05;
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_01"], "tag_fx_004" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_02"], "tag_fx_004" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_03"], "tag_fx_004" );
wait 0.05;
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_01"], "tag_fx_005" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_02"], "tag_fx_005" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_03"], "tag_fx_005" );
wait 0.05;
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_01"], "tag_fx_006" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_02"], "tag_fx_006" );
playfxontag( level._effect["electrical_sparks_small_funner"], level.assembly_ceiling_cables["factory_ambush_ceiling_cables_03"], "tag_fx_006" );
}
fx_screen_raindrops()
{
level.screenrain = spawn( "script_model", ( 0, 0, 0 ) );
level.screenrain setmodel( "tag_origin" );
level.screenrain.origin = level.player.origin;
level.screenrain linktoplayerview( level.player, "tag_origin", ( 0, 0, 0 ), ( 0, 0, 0 ), 1 );
var_0 = 0;
for (;;)
{
if ( common_scripts\utility::flag( "fx_screen_raindrops" ) || common_scripts\utility::flag( "fx_player_watersheeting" ) )
{
var_1 = 0;
var_2 = level.player getplayerangles();
if ( common_scripts\utility::flag( "fx_player_watersheeting" ) && var_2[0] < 25 )
{
level.player setwatersheeting( 1, 1.0 );
var_1 = 1;
}
if ( common_scripts\utility::flag( "fx_screen_raindrops" ) )
{
if ( !var_1 && var_2[0] < -55 && randomint( 100 ) < 20 )
level.player setwatersheeting( 1, 1.0 );
var_0 = var_0 + 1;
if ( var_0 > 4 )
var_0 = 0;
if ( var_2[0] < -40 )
playfxontag( level._effect["raindrops_screen_20_" + var_0], level.screenrain, "tag_origin" );
else if ( var_2[0] < -25 )
playfxontag( level._effect["raindrops_screen_10_" + var_0], level.screenrain, "tag_origin" );
else if ( var_2[0] < 25 )
playfxontag( level._effect["raindrops_screen_5_" + var_0], level.screenrain, "tag_origin" );
else if ( var_2[0] < 40 )
playfxontag( level._effect["raindrops_screen_3_" + var_0], level.screenrain, "tag_origin" );
}
}
wait 0.5;
}
}
splash_on_player( var_0 )
{
level endon( var_0 );
level.splash_tag = "tag_flash";
level.splash_x = randomfloatrange( -25, -5 );
level.splash_y = randomfloatrange( -1, 1 );
level.splash_z = randomfloatrange( 1, 2 );
level.splash_angles = ( 0, 0, 0 );
var_1 = spawn( "script_model", ( 0, 0, 20 ) );
var_2 = spawn( "script_model", ( 0, 0, 20 ) );
for (;;)
{
if ( common_scripts\utility::flag( "fx_player_watersheeting" ) )
{
var_3 = randomint( 3 );
switch ( var_3 )
{
case 0:
level.splash_fx = "splash_body_shallow";
break;
case 2:
case 1:
level.splash_fx = "factory_single_splash_plr";
break;
}
}
else
level.splash_fx = "factory_single_splash_plr";
if ( !level.player issprinting() && !level.player isreloading() )
{
var_1 delete();
var_1 = spawn( "script_model", ( 0, 0, 0 ) );
var_1 setmodel( "tag_origin" );
thread splash_on_player_choose_location();
var_1 linktoplayerview( self, level.splash_tag, ( level.splash_x, level.splash_y, level.splash_z ), level.splash_angles, 1 );
playfx( common_scripts\utility::getfx( level.splash_fx ), var_1 gettagorigin( "tag_origin" ) );
wait( randomfloatrange( 0.06, 0.3 ) );
var_2 delete();
var_2 = spawn( "script_model", ( 0, 0, 0 ) );
var_2 setmodel( "tag_origin" );
thread splash_on_player_choose_location();
var_2 linktoplayerview( self, level.splash_tag, ( level.splash_x, level.splash_y, level.splash_z ), level.splash_angles, 1 );
playfxontag( common_scripts\utility::getfx( level.splash_fx ), var_2, "tag_origin" );
}
wait( randomfloatrange( 0.06, 0.3 ) );
}
}
splash_on_player_choose_location()
{
var_0 = randomint( 2 );
switch ( var_0 )
{
case 0:
if ( level.player getcurrentweapon() == "p226_tactical+silencerpistol_sp+tactical_sp" )
{
level.splash_tag = "tag_flash";
level.splash_x = randomfloatrange( -10, -1 );
level.splash_y = randomfloatrange( -0.5, 0.5 );
level.splash_z = randomfloatrange( 0.0, 0.5 );
level.splash_angles = ( 0, 0, 0 );
break;
}
if ( level.player getcurrentweapon() == "factory_knife" )
{
var_1 = getnumparts( level.player getviewmodel() );
level.splash_tag = getpartname( level.player getviewmodel(), randomintrange( 0, var_1 ) );
level.splash_x = 0;
level.splash_y = 0;
level.splash_z = 0;
level.splash_angles = ( 90, 0, 0 );
break;
}
level.splash_tag = "tag_flash";
level.splash_x = randomfloatrange( 0, 20 );
level.splash_y = randomfloatrange( 0, 2 );
level.splash_z = randomfloatrange( -3, 0 );
level.splash_angles = ( 0, 0, 0 );
break;
case 1:
var_1 = getnumparts( level.player getviewmodel() );
level.splash_tag = getpartname( level.player getviewmodel(), randomintrange( 0, var_1 ) );
level.splash_x = 0;
level.splash_y = 0;
level.splash_z = 0;
level.splash_angles = ( 90, 0, 0 );
break;
}
}
splash_on_actor( var_0, var_1, var_2 )
{
while ( !common_scripts\utility::flag( var_1 ) )
{
if ( common_scripts\utility::flag( "factory_rooftop_wind_gust" ) )
{
var_3 = randomintrange( 0, 3 );
switch ( var_3 )
{
case 4:
case 2:
case 1:
case 0:
playfx( common_scripts\utility::getfx( "factory_rooftop_wind_gust_ground" ), var_0.origin + ( 30, 0, randomfloatrange( 0, 40 ) ), ( 0, -1, 0 ), ( 0, 0, 1 ) );
break;
}
}
wait 0.25;
}
}
rooftop_wind_gusts()
{
}
rain_on_actor( var_0, var_1, var_2, var_3 )
{
level endon( var_1 );
var_4 = common_scripts\utility::spawn_tag_origin();
var_5 = common_scripts\utility::spawn_tag_origin();
var_6 = common_scripts\utility::spawn_tag_origin();
var_7 = var_0.origin;
for (;;)
{
if ( common_scripts\utility::flag( var_1 ) )
break;
if ( !isalive( var_0 ) )
break;
var_8 = var_0.origin - ( 1, 1, 1 );
var_9 = var_0.origin + ( 1, 1, 1 );
if ( var_7[0] > var_8[0] && var_7[0] < var_9[0] && var_7[1] > var_8[1] && var_7[1] < var_9[1] )
{
var_5.origin = var_0 gettagorigin( "J_Neck" );
var_5.origin = var_5.origin + ( randomfloatrange( -4, 4 ), randomfloatrange( -10, 2 ), randomfloatrange( 2, 4 ) );
playfxontag( level._effect["factory_single_drip"], var_5, "tag_origin" );
var_6.origin = var_0 gettagorigin( "J_Neck" );
var_6.origin = var_6.origin + ( randomfloatrange( -11, 11 ), randomfloatrange( 0, 9 ), randomfloatrange( -1, 1 ) );
playfxontag( level._effect["factory_single_drip"], var_6, "tag_origin" );
}
else
{
var_5.origin = var_0 gettagorigin( "J_Neck" );
var_5.origin = var_5.origin + ( randomfloatrange( -11, 11 ), randomfloatrange( 0, 9 ), randomfloatrange( -45, -25 ) );
playfxontag( level._effect["factory_single_drip"], var_6, "tag_origin" );
var_6.origin = var_0 gettagorigin( "J_Neck" );
var_6.origin = var_6.origin + ( randomfloatrange( -11, 11 ), randomfloatrange( 0, 9 ), randomfloatrange( -45, -25 ) );
playfxontag( level._effect["factory_single_drip"], var_6, "tag_origin" );
}
common_scripts\utility::waitframe();
if ( !isalive( var_0 ) )
break;
if ( !isdefined( var_3 ) )
{
var_8 = var_0.origin - ( 3, 3, 3 );
var_9 = var_0.origin + ( 3, 3, 3 );
if ( var_7[0] > var_8[0] && var_7[0] < var_9[0] && var_7[1] > var_8[1] && var_7[1] < var_9[1] )
{
var_10 = randomintrange( 0, 9 );
if ( var_10 < 6 )
{
var_4.origin = var_0 gettagorigin( "J_Neck" );
var_4.origin = var_4.origin + ( randomfloatrange( -11, 11 ), randomfloatrange( 0, 9 ), randomfloatrange( -1, 1 ) );
playfxontag( level._effect["factory_single_splash"], var_4, "tag_origin" );
playfxontag( level._effect["factory_single_drip"], var_4, "tag_origin" );
}
else if ( var_10 == 6 )
{
var_4.origin = var_0 gettagorigin( "J_Neck" );
var_4.origin = var_4.origin + ( randomfloatrange( -3, 3 ), randomfloatrange( -10, -1 ), randomfloatrange( 7, 8 ) );
playfxontag( level._effect["factory_single_splash"], var_4, "tag_origin" );
playfxontag( level._effect["factory_single_drip"], var_4, "tag_origin" );
}
else if ( var_10 == 7 )
{
var_4.origin = var_0 gettagorigin( "J_Neck" );
playfxontag( level._effect["factory_single_splash"], var_4, "tag_origin" );
playfxontag( level._effect["factory_single_drip"], var_4, "tag_origin" );
}
else if ( var_10 == 8 )
{
var_4.origin = var_0 gettagorigin( "J_Wrist_RI" );
playfxontag( level._effect["factory_single_splash"], var_4, "tag_origin" );
playfxontag( level._effect["factory_single_drip"], var_4, "tag_origin" );
}
else if ( var_10 == 9 )
{
var_4.origin = var_0 gettagorigin( "tag_inhand" );
playfxontag( level._effect["factory_single_splash"], var_4, "tag_origin" );
playfxontag( level._effect["factory_single_drip"], var_4, "tag_origin" );
}
}
else
{
var_4.origin = var_0 gettagorigin( "J_Neck" );
var_4.origin = var_4.origin + ( randomfloatrange( -11, 11 ), randomfloatrange( -5, 5 ), randomfloatrange( -6, 1 ) );
playfxontag( level._effect["factory_single_splash"], var_4, "tag_origin" );
var_8 = var_0.origin - ( 6, 6, 6 );
var_9 = var_0.origin + ( 6, 6, 6 );
}
if ( isalive( var_0 ) )
var_7 = var_0.origin;
wait( var_2 );
}
}
var_4 delete();
var_5 delete();
var_6 delete();
}
fx_sat_revolving_door_light_setup()
{
fx_show_hide( "fx_sat_revolving_door_light_on", "fx_sat_revolving_door_light_off" );
common_scripts\utility::array_thread( getentarray( "fx_sat_revolving_door_light_on", "targetname" ), ::fx_sat_revolving_door_light );
common_scripts\utility::exploder( "presat_door_light" );
common_scripts\utility::flag_wait( "presat_revolving_door_closed" );
common_scripts\utility::array_thread( getentarray( "fx_sat_revolving_door_light_off", "targetname" ), ::fx_show_hide, "fx_sat_revolving_door_light_off" );
maps\_utility::stop_exploder( "presat_door_light" );
}
fx_sat_revolving_door_light()
{
var_0 = common_scripts\utility::spawn_tag_origin();
var_0.origin = self.origin - ( 0, 0, 5 );
var_0.angles = self.angles - ( 0, 90, 0 );
var_0 linkto( self );
playfxontag( level._effect["amber_light_45_beacon_nolight_beam"], var_0, "tag_origin" );
var_1 = common_scripts\utility::spawn_tag_origin();
var_1.origin = self.origin - ( 0, 0, 5 );
var_1.angles = self.angles;
var_1 linkto( self );
playfxontag( level._effect["amber_light_45_beacon_nglight_glow"], var_1, "tag_origin" );
thread fx_sat_revolving_door_light_rotate();
common_scripts\utility::flag_wait( "presat_revolving_door_closed" );
var_0 delete();
var_1 delete();
self hide();
}
fx_sat_revolving_door_light_rotate()
{
self endon( "death" );
while ( !common_scripts\utility::flag( "presat_revolving_door_closed" ) )
{
self rotateyaw( 360, 1.5 );
wait 1.5;
}
}
fx_intro_kill_ally_stab( var_0 )
{
var_1 = common_scripts\utility::spawn_tag_origin();
var_1 linkto( var_0, "j_neck", ( 3, -2, 6 ), ( 270, 0, 0 ) );
playfxontag( level._effect["factory_ambush_chest_blood"], var_1, "tag_origin" );
wait 20.0;
var_1 delete();
}
fx_intro_kill_player_stab( var_0 )
{
var_1 = common_scripts\utility::spawn_tag_origin();
var_1 linkto( var_0, "j_spineupper", ( 12, -14, 0 ), ( 0, 275, 0 ) );
playfxontag( level._effect["factory_intro_stab_blood_player"], var_1, "tag_origin" );
wait 20.0;
var_1 delete();
}
fx_intro_kill_player_jump_stab( var_0 )
{
var_1 = common_scripts\utility::spawn_tag_origin();
var_1 linkto( var_0, "j_pectoral_le", ( 0, -5, 0 ), ( 0, 270, 0 ) );
playfxontag( level._effect["factory_ambush_chest_blood"], var_1, "tag_origin" );
wait 20.0;
var_1 delete();
}
fx_chase_het_tire_smoke( var_0 )
{
playfxontag( level._effect["factory_chase_het_tire_smoke_runner"], var_0, "tag_wheel_back_left" );
playfxontag( level._effect["factory_chase_het_tire_smoke_runner"], var_0, "tag_wheel_back_right" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_het_tire_smoke_runner"], var_0, "tag_wheel_middle_left" );
playfxontag( level._effect["factory_chase_het_tire_smoke_runner"], var_0, "tag_wheel_middle_right" );
}
fx_chase_stack_small_break( var_0 )
{
foreach ( var_2 in level.createfxent )
{
if ( var_2.v["fxid"] == "fx_stack_small_red_light" )
var_2 common_scripts\_createfx::stop_fx_looper();
}
foreach ( var_2 in level.createfxent )
{
if ( var_2.v["fxid"] == "fx_stack_small_smoke" )
var_2 common_scripts\_createfx::stop_fx_looper();
}
playfxontag( level._effect["factory_chase_stack_glow_runner"], var_0, "tag_fx_stack_top" );
common_scripts\utility::exploder( "chase_stack_small_break" );
wait 1.5;
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_00" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_01" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_02" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_03" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_04" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_05" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_06" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_07" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_08" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_09" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_10" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_11" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_12" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_13" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_14" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_15" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_16" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_17" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_18" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_19" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_20" );
wait 1.2;
stopfxontag( level._effect["factory_chase_stack_glow_runner"], var_0, "tag_fx_stack_top" );
}
fx_chase_first_explosion( var_0 )
{
maps\_utility::vision_set_fog_changes( "factory_chase_explosion", 0.1 );
common_scripts\utility::exploder( "chase_000" );
level.player playrumbleonentity( "artillery_rumble" );
level.third_opfor_car thread fx_chase_first_explosion_jeep();
wait 2.0;
maps\_utility::vision_set_fog_changes( "", 1.0 );
common_scripts\utility::exploder( "chase_000_smoke_column" );
}
fx_chase_first_explosion_jeep()
{
playfxontag( level._effect["factory_chase_jeep_exp_fire_runner"], self, "tag_origin" );
wait 6.0;
stopfxontag( level._effect["factory_chase_jeep_exp_fire_runner"], self, "tag_origin" );
}
fx_chase_box_explosions_start( var_0 )
{
maps\_utility::vision_set_fog_changes( "factory_chase_explosion", 0.25 );
wait 0.75;
maps\_utility::vision_set_fog_changes( "", 0.5 );
}
fx_chase_warehouse_explosion( var_0 )
{
maps\_utility::vision_set_fog_changes( "factory_chase_explosion", 0.1 );
common_scripts\utility::exploder( "chase_warehouse_missile_explosion" );
wait 0.4;
common_scripts\utility::exploder( "chase_warehouse_door_explosion" );
wait 0.3;
common_scripts\utility::exploder( "chase_warehouse_explosion" );
common_scripts\utility::exploder( "building_crash_01_exploder" );
wait 2.0;
common_scripts\utility::exploder( "chase_stack_base_explosion" );
wait 0.5;
maps\_utility::vision_set_fog_changes( "", 1.5 );
}
fx_chase_stack_break_01( var_0 )
{
foreach ( var_2 in level.createfxent )
{
if ( var_2.v["fxid"] == "fx_stack_big_red_light" )
var_2 common_scripts\_createfx::stop_fx_looper();
}
foreach ( var_2 in level.createfxent )
{
if ( var_2.v["fxid"] == "fx_stack_big_smoke" )
var_2 common_scripts\_createfx::stop_fx_looper();
}
playfxontag( level._effect["factory_chase_stack_glow_runner"], var_0, "tag_fx_stack_top" );
common_scripts\utility::exploder( "chase_stack_break_01" );
wait 1.5;
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_21" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_22" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_23" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_24" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_25" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_26" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_27" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_28" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_29" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_30" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_31" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_32" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_33" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_34" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_35" );
wait 4.5;
stopfxontag( level._effect["factory_chase_stack_glow_runner"], var_0, "tag_fx_stack_top" );
}
fx_chase_stack_break_02( var_0 )
{
common_scripts\utility::exploder( "chase_stack_break_02" );
wait 1.5;
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_00" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_01" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_02" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_03" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_04" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_05" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_06" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_07" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_08" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_09" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_10" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_11" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_12" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_13" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_14" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_15" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_16" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_17" );
common_scripts\utility::waitframe();
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_18" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_19" );
playfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, "tag_fx_falling_chunks_20" );
}
fx_chase_stack_piece( var_0, var_1 )
{
stopfxontag( level._effect["factory_chase_stack_pieces_trail_runner"], var_0, var_1 );
var_2 = var_0 gettagorigin( var_1 );
playfx( level._effect["factory_chase_stack_pieces_impact_dust"], var_2, ( 0, 0, 1 ), ( 1, 0, 0 ) );
}
fx_chase_stack_piece_027( var_0 )
{
fx_chase_stack_piece( var_0, "tag_fx_falling_chunks_23" );
}
fx_chase_stack_piece_037( var_0 )
{
fx_chase_stack_piece( var_0, "tag_fx_falling_chunks_33" );
}
fx_chase_stack_piece_039( var_0 )
{
fx_chase_stack_piece( var_0, "tag_fx_falling_chunks_31" );
}
fx_chase_stack_piece_042( var_0 )
{
fx_chase_stack_piece( var_0, "tag_fx_falling_chunks_35" );
}
fx_chase_stack_piece_007( var_0 )
{
fx_chase_stack_piece( var_0, "tag_fx_falling_chunks_20" );
}
fx_chase_stack_piece_008( var_0 )
{
fx_chase_stack_piece( var_0, "tag_fx_falling_chunks_15" );
}
fx_chase_stack_piece_017( var_0 )
{
fx_chase_stack_piece( var_0, "tag_fx_falling_chunks_00" );
}
fx_chase_turn_explosion( var_0 )
{
maps\_utility::vision_set_fog_changes( "factory_chase_explosion", 0.1 );
common_scripts\utility::exploder( "chase_turn_dust" );
maps\_utility::stop_exploder( "chase_stack_ground_collision_01" );
wait 1.0;
maps\_utility::vision_set_fog_changes( "factory_chase_outro", 1.0 );
}
fx_chase_helicopter_explosion( var_0 )
{
maps\_utility::vision_set_fog_changes( "factory_chase_explosion", 0.1 );
common_scripts\utility::exploder( "chase_helicopter_explosion" );
wait 1.0;
maps\_utility::vision_set_fog_changes( "factory_chase_outro", 0.5 );
wait 1.0;
common_scripts\utility::exploder( "chase_final_explosion" );
thread maps\factory_audio::sfx_final_explosions();
}
fx_roof_heli_spotlight()
{
playfxontag( level._effect["factory_spotlight_nomodel"], self, "tag_flash" );
common_scripts\utility::flag_wait( "rooftop_door_open" );
wait 7;
if ( !common_scripts\utility::flag( "spotlight_off" ) )
{
killfxontag( level._effect["factory_spotlight_nomodel"], self, "tag_flash" );
common_scripts\utility::waitframe();
playfxontag( level._effect["spotlight_model_factory"], self, "tag_flash" );
thread maps\factory_rooftop::thermal_disables_spotlight( self );
}
}