cod5-sdk/raw/maps/see1_fx.gsc
2008-11-20 00:00:00 +00:00

248 lines
No EOL
12 KiB
Text

#include maps\_utility;
#include maps\see1_code;
main()
{
maps\createart\see1_art::main();
// thread vision_settings(); //added by rich 3/25 THIS IS NOW HANDLED BY see1_art.gsc
// level thread cull_dist_adjustment();
footsteps();
precacheFX();
spawnFX();
}
precacheFX()
{
//////////////////////////////////////////////////////////////////////////////////////
// Alex Section:
level._effect["flesh_hit"] = loadfx("impacts/flesh_hit");
level._effect["headshot_hit"] = loadfx("impacts/flesh_hit_head_fatal_exit");
level._effect["distant_muzzleflash"] = loadfx("weapon/muzzleflashes/heavy");
level._effect["flak_flash"] = loadfx("weapon/flak/fx_flak_cloudflash_night");
level._effect["napalm"] = loadfx("weapon/napalm/fx_napalmExp_lg_blk_smk_01");
level._effect["rifleflash"] = LoadFX( "weapon/muzzleflashes/rifleflash" );
level._effect["rifle_shelleject"] = LoadFX( "weapon/shellejects/rifle" );
level._effect["tank_smoke_column"] = LoadFX( "maps/see1/fx_smoke_column_tank_1" );
//level._effect["plane_tracers"] = LoadFX( "weapon/tracer/fx_tracer_jap_tripple25_projectile" );
level._effect["plane_tracers"] = LoadFX( "weapon/tracer/fx_tracer_flak_single_noExp" );
// OPENING --------------------------------------------------------------------------
level._effect["fx_explosion_door_blast"] = LoadFx( "maps/see1/fx_explosion_door_blast" );
// flamethrower stuffs
level._effect["character_fire_pain_sm"] = LoadFx( "env/fire/fx_fire_player_sm_1sec" );
level._effect["character_fire_death_sm"] = LoadFx( "env/fire/fx_fire_player_md" );
level._effect["character_fire_death_torso"] = LoadFx( "env/fire/fx_fire_player_torso" );
// farm house blown up
level._effect["house_blow_up"] = LoadFx( "maps/see1/fx_explosion_tank_shell_med_house" );
level._effect["house_blow_up_2"] = LoadFx( "maps/see1/fx_explosion_tank_shell_med_house2" );
// Wheat field blow up
level._effect["wheat_blow_up"] = LoadFx( "maps/see1/fx_explosion_tank_shell_med_wheat" );
// battlefield effects (Don't put too much or we'll go over particle limit)
level._effect["battle_smoke_light"] = loadfx("env/smoke/fx_battlefield_smokebank_low_thin");
level._effect["battle_smoke_heavy"] = loadfx("env/smoke/fx_battlefield_smokebank_low_thick");
level._effect["tree_trunk_fire"] = loadfx("maps/see1/fx_fire_smoke_tree_trunk_small");
level._effect["tree_brush_fire"] = loadfx("maps/see1/fx_fire_foliage_medium");
level._effect["tree_brush_fire_large"] = loadfx("maps/see1/fx_fire_foliage_large");
level._effect["wheat_fire_medium"] = loadfx("maps/see1/fx_fire_foliage_medium_3min");
level._effect["wheat_fire_large"] = loadfx("maps/see1/fx_fire_foliage_large_3min");
level._effect["wheat_smoke"] = loadfx("maps/see1/fx_smoke_column_3min");
// dust effect from tank fire
level._effect["tank_fire_dust"] = loadfx("maps/see1/fx_treadfx_tank_dust_plume");
level._effect["puddle"] = loadfx("maps/see1/fx_water_ripple_large");
level._effect["molotov_trail_fire"] = LoadFx( "weapon/molotov/fx_molotov_wick" );
level._effect["molotov_explosion"] = LoadFx( "weapon/molotov/fx_molotov_exp" );
level._effect["molotov_burn_trail_large"] = LoadFx( "weapon/molotov/fx_molotov_burn_trail2" );
level._effect["molotov_burn_trail_small"] = LoadFx( "weapon/molotov/fx_molotov_burn_trail" );
// EVENT 1 --------------------------------------------------------------------------
// Standard tank shell on dirt explosion
level._effect["dirt_blow_up"] = LoadFx( "maps/see1/fx_explosion_tank_shell_med" );
// Standard tank explosion
level._effect["tank_blow_up"] = LoadFx( "maps/see1/fx_explosion_tank_shell_default" );
level._effect["truck_fire_med"] = LoadFx( "maps/see1/fx_fire_truck_medium" );
level._effect["truck_explosion_phys"] = LoadFx( "explosions/fx_lg_vehicle_exp_physics" );
// EVENT 2 --------------------------------------------------------------------------
level._effect["rocket_trail"] = loadfx("weapon/rocket/fx_trail_bazooka_geotrail");
level._effect["shreck_explode"] = loadfx("explosions/default_explosion");
// EVENT 3 --------------------------------------------------------------------------
level._effect["admin_sandbag_explode_large"] = loadfx("maps/pel2/fx_sandbag_explosion_01_lg");
level._effect["engine_smoke_heavy"] = loadfx("env/smoke/fx_smoke_plume_md_fast_blk");
level._effect["engine_smoke_light"] = loadfx("env/smoke/fx_smoke_plume_sm_fast_blk");
level._vehicle_effect[ "t34" ][ "dirt" ] = loadfx ("maps/see1/fx_treadfx_tank_dust_plume");
//////////////////////////////////////////////////////////////////////////////////////
///////////////////////Quinn Section ////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
SetSavedDvar( "wind_global_vector", "-200 0 0" );
SetSavedDvar( "wind_global_low_altitude", -2000 );
SetSavedDvar( "wind_global_hi_altitude", 2000 );
SetSavedDvar( "wind_global_low_strength_percent", 0.05 );
// For level._effect["X"]s, X can be whatever makes sense to the scritper.
// The loadfx() call needs to point to a valid effect, however.
level._effect["smoke_impact_smolder"] = loadfx ("env/smoke/fx_smoke_crater_w");
level._effect["battlefield_smokebank_lg_white"] = loadfx ("env/smoke/fx_battlefield_smokebank_ling_lg");
level._effect["detail_fire"] = loadfx ("env/fire/fx_fire_smoke_tree_brush_detail");
level._effect["trunk_fire"] = loadfx ("maps/see1/fx_fire_smoke_tree_trunk_small");
level._effect["tree_trunk_fire"] = loadfx ("maps/see1/fx_fire_smoke_tree_trunk_small");
level._effect["headshot"] = LoadFX( "impacts/flesh_hit_head_fatal_exit" );
level._effect["embers"] = LoadFX( "env/fire/fx_tree_fire_ash_embers" );
level._effect["falling_ash_embers"] = LoadFX( "env/fire/fx_ash_embers_light" );
level._effect["tree_brush_fire_small"] = loadfx("env/fire/fx_fire_smoke_tree_brush_small_w");
level._effect["tree_brush_fire"] = loadfx("maps/see1/fx_fire_foliage_medium");
level._effect["tree_brush_fire2"] = loadfx("maps/see1/fx_fire_foliage_medium2");
level._effect["fire_foliage_large"] = loadfx("maps/see1/fx_fire_foliage_large");
level._effect["fire_foliage_medium"] = loadfx("maps/see1/fx_fire_foliage_medium");
level._effect["fire_foliage_small"] = loadfx("maps/see1/fx_fire_foliage_small");
level._effect["fire_foliage_xsmall"] = loadfx("maps/see1/fx_fire_foliage_xsmall");
level._effect["fire_embers_patch1"] = loadfx("maps/see1/fx_fire_embers_patch1");
level._effect["fire_embers_patch2"] = loadfx("maps/see1/fx_fire_embers_patch2");
level._effect["god_rays_large1"] = loadfx("maps/see1/fx_god_ray_forest_1");
level._effect["god_rays_large2"] = loadfx("maps/see1/fx_god_ray_forest_2");
level._effect["god_rays_small1"] = loadfx("maps/see1/fx_light_god_rays_small");
level._effect["god_rays_small2"] = loadfx("maps/see1/fx_light_god_rays_small2");
level._effect["fire_ash_cloud"] = loadfx("maps/see1/fx_fire_ash_cloud");
level._effect["fog_rolling_thick"] = loadfx("maps/see1/fx_fog_rolling_thick");
level._effect["smoke_rolling_thick"] = loadfx("maps/see1/fx_smoke_rolling_thick");
level._effect["fog_rolling_thin"] = loadfx("maps/see1/fx_fog_rolling_thin");
level._effect["smoke_column1"] = loadfx("maps/see1/fx_smoke_column");
level._effect["smoke_column2"] = loadfx("maps/see1/fx_smoke_column2");
level._effect["smoke_chimney"] = loadfx("maps/see1/fx_smoke_chimney");
level._effect["dust_falling_medium"] = loadfx("maps/see1/fx_dust_falling_medium_runner");
level._effect["dust_falling_medium2"] = loadfx("maps/see1/fx_dust_falling_medium_runner2");
level._effect["smoke_column_forest"] = loadfx("maps/see1/fx_smoke_column_forest");
level._effect["water_wake_small"] = loadfx("maps/see1/fx_water_wake_small");
level._effect["water_splash_small"] = loadfx("maps/see1/fx_water_splash_small");
level._effect["water_wake_flow"] = loadfx("maps/see1/fx_water_wake_flow");
level._effect["water_wake_flow2"] = loadfx("maps/see1/fx_water_wake_flow2");
level._effect["water_wake_flow_subtle"] = loadfx("maps/see1/fx_water_wake_flow_subtle");
level._effect["insects_swarm"] = loadfx("maps/see1/fx_insects_swarm");
level._effect["smoke_ambiance_indoor"] = loadfx("maps/see1/fx_smoke_ambiance_indoor");
level._effect["dust_specs_interior"] = loadfx("maps/see1/fx_dust_specs_interior");
level._effect["d_light_small"] = loadfx("maps/see1/fx_d_light_small");
}
spawnFX()
{
maps\createfx\see1_fx::main();
}
footsteps()
{
animscripts\utility::setFootstepEffect( "asphalt", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "brick", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "carpet", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "cloth", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "concrete", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "dirt", LoadFx( "bio/player/fx_footstep_sand" ) );
animscripts\utility::setFootstepEffect( "foliage", LoadFx( "bio/player/fx_footstep_sand" ) );
animscripts\utility::setFootstepEffect( "gravel", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "grass", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "metal", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "mud", LoadFx( "bio/player/fx_footstep_mud" ) );
animscripts\utility::setFootstepEffect( "paper", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "plaster", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "rock", LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "water", LoadFx( "bio/player/fx_footstep_water" ) );
animscripts\utility::setFootstepEffect( "wood", LoadFx( "bio/player/fx_footstep_dust" ) );
}
////////////////////////////////////////////////////////////////////////////////////////
///////////////////////Rich's Section/////////////////////////////////////////////////// THIS IS NOW HANDLED BY see1_art.gsc
////////////////////////////////////////////////////////////////////////////////////////
// vision_settings()
// {
// wait( 0.2 );
// VisionSetNaked( "see1", 1 );// TODO change to per-client
// setVolFog(1100, 4100, 1360, -448, 0.62, 0.59, 0.52, 0);
//
// if( IsSplitScreen() )
// {
// cull_dist = 7000;
// set_splitscreen_fog( 1100, 4100, 1360, -448, 0.62, 0.59, 0.52, 0, cull_dist );
// }
// else
// {
// setVolFog(1100, 4100, 1360, -448, 0.62, 0.59, 0.52, 0);
// }
//}
cull_dist_adjustment()
{
wait( 1 );
trigger1 = getent( "cull_set_forest_trench", "targetname" ); // trench
trigger2 = getent( "cull_set_forest_entrance", "targetname" ); // S curve
current_cull = 15000;
while( 1 )
{
if( any_player_touching( trigger1 ) )
{
if( current_cull != 5000 )
{
// set 5000
SetCullDist( 5000 );
current_cull = 5000;
//iprintlnbold( 5000 );
}
wait( 0.5 );
}
else if( any_player_touching( trigger2 ) )
{
if( current_cull != 6000 )
{
// set 6000
SetCullDist( 6000 );
current_cull = 6000;
//iprintlnbold( 6000 );
}
wait( 0.5 );
}
else
{
if( current_cull != 15000 )
{
// set 15000
SetCullDist( 15000 );
current_cull = 15000;
//iprintlnbold( 15000 );
}
wait( 0.5 );
}
}
}