mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-10 02:37:59 -05:00
257 lines
12 KiB
Plaintext
257 lines
12 KiB
Plaintext
// T6 GSC SOURCE
|
|
// Decompiled by https://github.com/xensik/gsc-tool
|
|
#include clientscripts\mp\_utility;
|
|
#include clientscripts\mp\_fxanim_dlc4;
|
|
#include clientscripts\mp\createfx\mp_takeoff_fx;
|
|
#include clientscripts\mp\_fx;
|
|
|
|
precache_scripted_fx()
|
|
{
|
|
|
|
}
|
|
|
|
precache_createfx_fx()
|
|
{
|
|
level._effect["fx_light_exit_sign"] = loadfx( "light/fx_light_exit_sign_glow" );
|
|
level._effect["fx_light_flour_glow_cool"] = loadfx( "light/fx_tak_light_flour_glow_cool" );
|
|
level._effect["fx_tak_light_flour_glow_cool_sm"] = loadfx( "light/fx_tak_light_flour_glow_cool_sm" );
|
|
level._effect["fx_light_upl_flour_glow_v_shape_cool"] = loadfx( "light/fx_light_upl_flour_glow_v_shape_cool" );
|
|
level._effect["fx_light_recessed_blue"] = loadfx( "light/fx_light_recessed_blue" );
|
|
level._effect["fx_light_recessed_cool_sm_soft"] = loadfx( "light/fx_light_recessed_cool_sm_soft" );
|
|
level._effect["fx_mp_tak_glow_blue"] = loadfx( "maps/mp_maps/fx_mp_tak_glow_blue" );
|
|
level._effect["fx_mp_tak_glow_orange"] = loadfx( "maps/mp_maps/fx_mp_tak_glow_orange" );
|
|
level._effect["fx_mp_tak_glow_yellow"] = loadfx( "maps/mp_maps/fx_mp_tak_glow_yellow" );
|
|
level._effect["fx_mp_tak_glow_red"] = loadfx( "maps/mp_maps/fx_mp_tak_glow_red" );
|
|
level._effect["fx_tak_light_flour_glow_ceiling"] = loadfx( "light/fx_tak_light_flour_glow_ceiling" );
|
|
level._effect["fx_tak_light_flour_sqr_lg"] = loadfx( "light/fx_tak_light_flour_sqr_lg" );
|
|
level._effect["fx_tak_light_flour_rnd_lg"] = loadfx( "light/fx_tak_light_flour_rnd_lg" );
|
|
level._effect["fx_tak_light_tv_glow_blue"] = loadfx( "light/fx_tak_light_tv_glow_blue" );
|
|
level._effect["fx_tak_light_tv_glow_blue_flckr"] = loadfx( "light/fx_tak_light_tv_glow_blue_flckr" );
|
|
level._effect["fx_drone_light_yellow"] = loadfx( "light/fx_drone_light_yellow" );
|
|
level._effect["fx_tak_light_sign_glow_blue"] = loadfx( "light/fx_tak_light_sign_glow_blue" );
|
|
level._effect["fx_tak_light_blue_stair"] = loadfx( "light/fx_tak_light_blue_stair" );
|
|
level._effect["fx_tak_light_blue_stair_sm"] = loadfx( "light/fx_tak_light_blue_stair_sm" );
|
|
level._effect["fx_tak_light_blue"] = loadfx( "light/fx_tak_light_blue" );
|
|
level._effect["fx_tak_light_blue_pulse"] = loadfx( "light/fx_tak_light_blue_pulse" );
|
|
level._effect["fx_tak_light_blue_pulse_curve"] = loadfx( "light/fx_tak_light_blue_pulse_curve" );
|
|
level._effect["fx_light_beacon_yellow"] = loadfx( "light/fx_light_beacon_yellow" );
|
|
level._effect["fx_light_beacon_red_blink_fst_sm"] = loadfx( "light/fx_light_beacon_red_blink_fst_sm" );
|
|
level._effect["fx_tak_light_modern_sconce"] = loadfx( "light/fx_tak_light_modern_sconce" );
|
|
level._effect["fx_tak_light_spotlight"] = loadfx( "light/fx_tak_light_spotlight" );
|
|
level._effect["fx_tak_light_wall_ext"] = loadfx( "light/fx_tak_light_wall_ext" );
|
|
level._effect["fx_mp_light_dust_motes_md"] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
|
level._effect["fx_mp_tak_dust_ground"] = loadfx( "maps/mp_maps/fx_mp_tak_dust_ground" );
|
|
level._effect["fx_tak_water_fountain_pool_sm"] = loadfx( "water/fx_tak_water_fountain_pool_sm" );
|
|
level._effect["fx_paper_interior_short_sm"] = loadfx( "debris/fx_paper_interior_short_sm" );
|
|
level._effect["fx_paper_exterior_short_sm_fst"] = loadfx( "debris/fx_paper_exterior_short_sm_fst" );
|
|
level._effect["fx_insects_swarm_md_light"] = loadfx( "bio/insects/fx_insects_swarm_md_light" );
|
|
level._effect["fx_mp_vent_heat_distort"] = loadfx( "maps/mp_maps/fx_mp_vent_heat_distort" );
|
|
level._effect["fx_mp_tak_steam_loading_dock"] = loadfx( "maps/mp_maps/fx_mp_tak_steam_loading_dock" );
|
|
level._effect["fx_mp_vent_steam_line"] = loadfx( "maps/mp_maps/fx_mp_vent_steam_line" );
|
|
level._effect["fx_mp_vent_steam_line_sm"] = loadfx( "maps/mp_maps/fx_mp_vent_steam_line_sm" );
|
|
level._effect["fx_mp_vent_steam_line_lg"] = loadfx( "maps/mp_maps/fx_mp_vent_steam_line_lg" );
|
|
level._effect["fx_mp_steam_amb_xlg"] = loadfx( "maps/mp_maps/fx_mp_steam_amb_xlg" );
|
|
level._effect["fx_mp_tak_steam_hvac"] = loadfx( "maps/mp_maps/fx_mp_tak_steam_hvac" );
|
|
level._effect["fx_lf_mp_overflow_sun1"] = loadfx( "lens_flares/fx_lf_mp_overflow_sun1" );
|
|
level._effect["fx_lf_mp_takeoff_sun1"] = loadfx( "lens_flares/fx_lf_mp_takeoff_sun1" );
|
|
level._effect["fx_mp_tak_shuttle_thruster_lg"] = loadfx( "maps/mp_maps/fx_mp_tak_shuttle_thruster_lg" );
|
|
level._effect["fx_mp_tak_shuttle_thruster_md"] = loadfx( "maps/mp_maps/fx_mp_tak_shuttle_thruster_md" );
|
|
level._effect["fx_mp_tak_shuttle_thruster_sm"] = loadfx( "maps/mp_maps/fx_mp_tak_shuttle_thruster_sm" );
|
|
level._effect["fx_mp_tak_shuttle_thruster_smk_grnd"] = loadfx( "maps/mp_maps/fx_mp_tak_shuttle_thruster_smk_grnd" );
|
|
level._effect["fx_mp_tak_shuttle_thruster_steam"] = loadfx( "maps/mp_maps/fx_mp_tak_shuttle_thruster_steam" );
|
|
level._effect["fx_mp_tak_shuttle_thruster_steam_w"] = loadfx( "maps/mp_maps/fx_mp_tak_shuttle_thruster_steam_w" );
|
|
level._effect["fx_mp_tak_shuttle_frame_light"] = loadfx( "maps/mp_maps/fx_mp_tak_shuttle_frame_light" );
|
|
level._effect["fx_mp_tak_steam_nozzle"] = loadfx( "maps/mp_maps/fx_mp_tak_steam_nozzle" );
|
|
}
|
|
|
|
#using_animtree("fxanim_props_dlc4");
|
|
|
|
precache_fxanim_props_dlc4()
|
|
{
|
|
level.scr_anim["fxanim_props_dlc4"]["decont_blasters"] = %fxanim_mp_takeoff_decont_blasters_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["scaffold_wires_01"] = %fxanim_mp_takeoff_scaffold_wires_01_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["crane_hooks"] = %fxanim_mp_takeoff_crane_hooks_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["rattling_sign"] = %fxanim_mp_takeoff_rattling_sign_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["radar01"] = %fxanim_mp_takeoff_satellite_dish_01_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["radar02"] = %fxanim_mp_takeoff_satellite_dish_02_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["radar03"] = %fxanim_mp_takeoff_satellite_dish_03_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["radar04"] = %fxanim_mp_takeoff_satellite_dish_04_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["radar05"] = %fxanim_mp_takeoff_satellite_dish_05_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["banners"] = %fxanim_mp_takeoff_banner_01_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["planets"] = %fxanim_mp_takeoff_planets_anim;
|
|
level.scr_anim["fxanim_props_dlc4"]["banners_lrg"] = %fxanim_mp_takeoff_banner_lrg_anim;
|
|
}
|
|
|
|
fxanim_init( localclientnum )
|
|
{
|
|
for (;;)
|
|
{
|
|
level waittill( "snap_processed", snapshotlocalclientnum );
|
|
|
|
if ( snapshotlocalclientnum == localclientnum )
|
|
break;
|
|
}
|
|
|
|
level thread clientscripts\mp\_fxanim_dlc4::fxanim_init_dlc( localclientnum );
|
|
radar = getent( localclientnum, "fxanim_dlc4_radar", "targetname" );
|
|
|
|
if ( isdefined( radar ) )
|
|
{
|
|
if ( !isdefined( level.radar_waits ) )
|
|
{
|
|
level.radar_waits = [];
|
|
|
|
for ( i = 1; i < 6; i++ )
|
|
level.radar_waits[i] = randomfloatrange( 5, 10 );
|
|
}
|
|
|
|
radar thread fxanim_radar_think( localclientnum );
|
|
}
|
|
|
|
decont_blasters = getent( localclientnum, "fxanim_dlc4_blasters", "targetname" );
|
|
|
|
if ( isdefined( decont_blasters ) )
|
|
decont_blasters thread fxanim_decontamination_think( localclientnum );
|
|
|
|
planets_candidates = getentarray( localclientnum, "fxanim_dlc4", "targetname" );
|
|
|
|
if ( isdefined( planets_candidates ) && planets_candidates.size > 0 )
|
|
{
|
|
foreach ( planets_candidate in planets_candidates )
|
|
{
|
|
if ( planets_candidate.model == "fxanim_mp_takeoff_planets_mod" )
|
|
planets_candidate thread fxanim_planets_think( localclientnum );
|
|
}
|
|
}
|
|
|
|
level thread playexploderonstart();
|
|
}
|
|
|
|
#using_animtree("fxanim_props");
|
|
|
|
precache_fx_anims()
|
|
{
|
|
level.scr_anim = [];
|
|
level.scr_anim["fxanim_props"]["seagull_circle_01"] = %fxanim_gp_seagull_circle_01_anim;
|
|
level.scr_anim["fxanim_props"]["seagull_circle_02"] = %fxanim_gp_seagull_circle_02_anim;
|
|
level.scr_anim["fxanim_props"]["seagull_circle_03"] = %fxanim_gp_seagull_circle_03_anim;
|
|
level.scr_anim["fxanim_props"]["windsock"] = %fxanim_gp_windsock_anim;
|
|
level.fx_anim_level_init = ::fxanim_init;
|
|
}
|
|
|
|
#using_animtree("fxanim_props_dlc4");
|
|
|
|
fxanim_radar_think( localclientnum )
|
|
{
|
|
self endon( "death" );
|
|
self endon( "entityshutdown" );
|
|
self endon( "delete" );
|
|
self waittill_dobj( localclientnum );
|
|
self useanimtree( #animtree );
|
|
anim_index = 1;
|
|
|
|
for (;;)
|
|
{
|
|
self setflaggedanimrestart( "radar_done" + anim_index, level.scr_anim["fxanim_props_dlc4"]["radar0" + anim_index], 1.0, 0.0, 1.0 );
|
|
|
|
for (;;)
|
|
{
|
|
self waittill( "radar_done" + anim_index, note );
|
|
|
|
if ( note == "end" )
|
|
break;
|
|
}
|
|
|
|
wait( level.radar_waits[anim_index] );
|
|
self clearanim( level.scr_anim["fxanim_props_dlc4"]["radar0" + anim_index], 0 );
|
|
anim_index++;
|
|
|
|
if ( anim_index > 5 )
|
|
anim_index = 1;
|
|
}
|
|
}
|
|
|
|
fxanim_decontamination_think( localclientnum )
|
|
{
|
|
self waittill_dobj( localclientnum );
|
|
self useanimtree( #animtree );
|
|
self animflaggedscripted( "nozzle", level.scr_anim["fxanim_props_dlc4"]["decont_blasters"], 1.0, 0.0, 1.0 );
|
|
self.nozzletags = [];
|
|
self.nozzletags["one"] = "nozzle_01_tag_jnt";
|
|
self.nozzletags["two"] = "nozzle_02_tag_jnt";
|
|
self.nozzletags["three"] = "nozzle_03_tag_jnt";
|
|
self.nozzletags["four"] = "nozzle_04_tag_jnt";
|
|
self.nozzlefxid = [];
|
|
|
|
for (;;)
|
|
{
|
|
self waittill( "nozzle", note );
|
|
|
|
if ( note == "end" )
|
|
continue;
|
|
|
|
tokens = strtok( note, "_" );
|
|
|
|
if ( tokens.size != 4 )
|
|
continue;
|
|
|
|
foundchange = 0;
|
|
|
|
if ( tokens[3] == "off" || tokens[3] == "on" )
|
|
{
|
|
foundchange = 1;
|
|
change = tokens[3];
|
|
}
|
|
|
|
if ( foundchange == 0 || tokens[0] != "nozzles" )
|
|
continue;
|
|
|
|
foreach ( token in tokens )
|
|
{
|
|
if ( isdefined( self.nozzletags[token] ) )
|
|
{
|
|
if ( change == "on" )
|
|
{
|
|
self.nozzlefxid[token] = playfxontag( localclientnum, level._effect["fx_mp_tak_steam_nozzle"], self, self.nozzletags[token] );
|
|
continue;
|
|
}
|
|
|
|
stopfx( localclientnum, self.nozzlefxid[token] );
|
|
self.nozzlefxid[token] = undefined;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
main()
|
|
{
|
|
clientscripts\mp\createfx\mp_takeoff_fx::main();
|
|
clientscripts\mp\_fx::reportnumeffects();
|
|
precache_createfx_fx();
|
|
precache_fx_anims();
|
|
precache_fxanim_props_dlc4();
|
|
disablefx = getdvarint( _hash_C9B177D6 );
|
|
|
|
if ( !isdefined( disablefx ) || disablefx <= 0 )
|
|
precache_scripted_fx();
|
|
}
|
|
|
|
playexploderonstart()
|
|
{
|
|
clientscripts\mp\_fx::activate_exploder( 2001 );
|
|
clientscripts\mp\_fx::activate_exploder( 2002 );
|
|
}
|
|
|
|
fxanim_planets_think( localclientnum )
|
|
{
|
|
self waittill_dobj( localclientnum );
|
|
playfxontag( localclientnum, level._effect["fx_mp_tak_glow_blue"], self, "earth_jnt" );
|
|
playfxontag( localclientnum, level._effect["fx_mp_tak_glow_red"], self, "jupiter_jnt" );
|
|
playfxontag( localclientnum, level._effect["fx_mp_tak_glow_red"], self, "mars_jnt" );
|
|
playfxontag( localclientnum, level._effect["fx_mp_tak_glow_yellow"], self, "mercury_jnt" );
|
|
playfxontag( localclientnum, level._effect["fx_mp_tak_glow_blue"], self, "neptune_jnt" );
|
|
playfxontag( localclientnum, level._effect["fx_mp_tak_glow_yellow"], self, "saturn_jnt" );
|
|
playfxontag( localclientnum, level._effect["fx_mp_tak_glow_blue"], self, "uranus_jnt" );
|
|
playfxontag( localclientnum, level._effect["fx_mp_tak_glow_yellow"], self, "venus_jnt" );
|
|
}
|