nx1-gsc-dump/maps/nx_hithard_b_fx.gsc

224 lines
12 KiB
Plaintext

//****************************************************************************
// **
// Confidential - (C) Activision Publishing, Inc. 2010 **
// **
//****************************************************************************
// **
// Module: FX Support **
// **
// Created: DATE - CREATOR **
// **
//****************************************************************************
#include common_scripts\utility;
#include animscripts\utility;
#include animscripts\combat_utility;
#include maps\_utility;
main()
{
//if ( !getdvarint( "r_reflectionProbeGenerate" ) )
maps\createfx\nx_hithard_b_fx::main();
level._effect[ "freeway_explosion" ] = LoadFX( "explosions/wall_explosion_2_short_nosmoke" );
level._effect[ "nx_debri_explosion" ] = LoadFX( "nx/explosions/nx_debri_explosion_exit_building_1" );
level._effect[ "building_explosion_gulag_bh1" ] = LoadFX( "explosions/building_explosion_gulag" );
level._effect[ "ceiling_collapse_dirt1" ] = LoadFX( "dust/ceiling_collapse_dirt1" );
level._effect[ "ceiling_dust_bunker" ] = LoadFX( "dust/ceiling_dust_bunker" );
level._effect[ "ceiling_dust_default" ] = LoadFX( "dust/ceiling_dust_default" );
// NX smoke - copied over from first hithard, probably need to cleanup once we know which effects we'll be using in hithard_b
level._effect[ "nx_smoke_amb_scrolling_smoke" ] = loadfx( "nx/smoke/nx_smoke_amb_scrolling_smoke" );
level._effect[ "nx_amb_smoke_plume_scattered_light" ] = loadfx( "nx/smoke/nx_amb_smoke_plume_scattered_light" );
level._effect[ "nx_smoke_plume_periph_large_black" ] = loadfx( "nx/smoke/nx_smoke_plume_periph_large_black" );
level._effect[ "nx_smoke_plume_huge_periph" ] = loadfx( "nx/smoke/nx_smoke_plume_huge_periph" );
level._effect[ "nx_amb_smoke_fastground" ] = loadfx( "nx/smoke/nx_amb_smoke_fastground" );
level._effect[ "nx_amb_smoke_blend_large" ] = LoadFX( "nx/smoke/nx_amb_smoke_blend_large" );
level._effect[ "nx_amb_smoke_blend_large_02" ] = LoadFX( "nx/smoke/nx_amb_smoke_blend_large_02" );
level._effect[ "nx_fire_building_large" ] = LoadFX( "nx/fire/nx_fire_building_large" );
level._effect[ "nx_grenade_smoke_5sec" ] = loadfx( "nx/smoke/nx_grenade_smoke_5sec" );
//Lapes drop fx
level._effect[ "nx_smoke_lapse_amb_smoke" ] = LoadFX( "nx/smoke/nx_smoke_lapse_amb_smoke" );
level._effect[ "nx_c102_angel_flare_geotrail" ] = loadfx( "nx/smoke/nx_c102_angel_flare_geotrail" );
level._effect[ "nx_smoke_swirls_lapes_c102" ] = LoadFX( "nx/smoke/nx_smoke_swirls_lapes_c102" );
level._effect[ "aircraft_light_wingtip_green" ] = LoadFX( "misc/aircraft_light_wingtip_green" );
level._effect[ "aircraft_light_wingtip_red" ] = LoadFX( "misc/aircraft_light_wingtip_red" );
level._effect[ "aircraft_light_white_blink" ] = LoadFX( "misc/aircraft_light_white_blink" );
level._effect[ "aircraft_light_red_blink" ] = LoadFX( "misc/aircraft_light_red_blink" );
level._effect[ "nx_lapes_tank_drop_dust" ] = LoadFX( "nx/dust/nx_lapes_tank_drop_dust" );
level._effect[ "nx_lapes_tank_dust_looping_runner" ] = LoadFX( "nx/dust/nx_lapes_tank_dust_looping_runner" );
level._effect[ "nx_impact_lapes_carhit" ] = LoadFX( "nx/impacts/nx_impact_lapes_carhit" );
level._effect[ "nx_impact_lapes_carhit_small" ] = LoadFX( "nx/impacts/nx_impact_lapes_carhit_small" );
level._effect[ "nx_c102_engine_explosion" ] = LoadFX( "nx/explosions/nx_c102_engine_explosion" );
level._effect[ "nx_chinese_ugv_turret_trail_ambient" ] = LoadFX( "nx/misc/nx_chinese_ugv_turret_trail_ambient" );
level._effect[ "c102_medium_afterburner" ] = loadfx( "nx/fire/nx_repel_looping_medium_afterburner" );
level._effect[ "c102_large_afterburner" ] = loadfx( "nx/fire/nx_repel_looping_large_afterburner" );
level._effect[ "nx_c102_looping_large_afterburner" ] = loadfx( "nx/fire/nx_c102_looping_large_afterburner" );
level._effect[ "c102_engine_burn_emmiter" ] = loadfx( "fire/fire_smoke_trail_L_emitter" );
level._effect[ "nx_lapes_carhit_explosion" ] = loadfx( "nx/explosions/nx_lapes_carhit_explosion" );
level._effect[ "c102_dust_runner" ] = loadfx( "nx/treadfx/nx_c102_lapes_dust_runner" );
level._effect[ "nx_c102_phalanx_runner" ] = loadfx( "nx/misc/nx_c102_phalanx_runner" );
level._effect[ "nx_amb_smoke_plume_scattered_light_large" ] = loadfx( "nx/smoke/nx_amb_smoke_plume_scattered_light_large" );
level._effect[ "nx_smoke_lapes_drop_linger" ] = loadfx( "nx/smoke/nx_smoke_lapes_drop_linger" );
level._effect[ "nx_debri_paper_fast" ] = loadfx( "nx/misc/nx_debri_paper_fast" );
level._effect[ "nx_fire_car_fire_n_smoke" ] = loadfx( "nx/fire/nx_fire_car_fire_n_smoke" );
level._effect[ "nx_impact_lapes_bus_hit" ] = LoadFX( "nx/impacts/nx_impact_lapes_bus_hit" );
level._effect[ "nx_impact_lapes_carhit_sparks_scrape" ] = LoadFX( "nx/impacts/nx_impact_lapes_carhit_sparks_scrape" );
level._effect[ "nx_impact_lapes_debri_directional_runner" ] = LoadFX( "nx/impacts/nx_impact_lapes_debri_directional_runner" );
//ambient fx
level._effect[ "firelp_large_pm_bh1" ] = LoadFX( "fire/firelp_large_pm_nolight" );
level._effect[ "firelp_med_pm_bh1" ] = LoadFX( "fire/firelp_med_pm_nolight" );
level._effect[ "firelp_small_pm" ] = LoadFX( "fire/firelp_small_pm_nolight" );
level._effect[ "fire_falling_runner_point_infrequent" ] = LoadFX( "fire/fire_falling_runner_point_infrequent" );
level._effect[ "firelp_huge_pm_nolight" ] = LoadFX( "fire/firelp_huge_pm_nolight" );
level._effect[ "amb_smoke_add" ] = LoadFX( "smoke/amb_smoke_add" );
level._effect[ "amb_smoke_blend" ] = LoadFX( "smoke/amb_smoke_blend" );
level._effect[ "room_smoke_200" ] = LoadFX( "smoke/room_smoke_200" );
level._effect[ "steam_cs" ] = LoadFX( "smoke/steam_cs" );
level._effect[ "nx_light_floor_square_small_red" ] = LoadFX( "nx/misc/nx_light_floor_square_small_red" );
level._effect[ "fire_light_small" ] = LoadFX( "nx/misc/nx_light_orange_small" );
level._effect[ "nx_light_emergency_red" ] = LoadFX( "nx/misc/nx_light_emergency_red" );
level._effect[ "nx_sparks_falling_runner" ] = LoadFX( "nx/explosions/nx_sparks_falling_runner" );
//light shaft fx
level._effect[ "light_dust_particles" ] = LoadFX( "dust/light_dust_particles" );
level._effect[ "light_shaft_dust_large" ] = LoadFX( "dust/light_shaft_dust_large" );
level._effect[ "light_shaft_dust_med" ] = LoadFX( "dust/light_shaft_dust_med" );
level._effect[ "light_shaft_motes_airport" ] = LoadFX( "dust/light_shaft_motes_airport" );
level._effect[ "nx_gfx_godray_side" ] = LoadFX( "nx/misc/nx_gfx_godray_side" );
level._effect[ "nx_gfx_godray_side_small" ] = LoadFX( "nx/misc/nx_gfx_godray_side_small" );
level._effect[ "nx_gfx_godray_down" ] = LoadFX( "nx/misc/nx_gfx_godray_down" );
level._effect[ "flashlight" ] =LoadFX( "misc/flashlight" );
level._effect[ "flashlight_spotlight" ] =LoadFX( "misc/flashlight_spotlight" );
level._effect[ "spotlight_dlight" ] =LoadFX( "misc/spotlight_dlight" );
level._effect[ "spotlight_small" ] =LoadFX( "misc/spotlight_small" );
level._effect[ "hunted_spotlight_model" ] =LoadFX( "misc/hunted_spotlight_model" );
// level._effect[ "nx_lunar_rover_headlight_light" ] =LoadFX( "misc/nx_lunar_rover_headlight_light" );
level._effect[ "dust_outdoor_large" ] = LoadFX( "dust/dust_outdoor_large" );
level._effect[ "dust_wind_fast_paper" ] = LoadFX( "dust/dust_wind_fast_paper" );
level._effect[ "paper_falling_burning" ] = LoadFX( "misc/paper_falling_burning" );
level._effect[ "ground_fog" ] = LoadFX( "dust/ground_fog" );
// Door opening sequence
level._effect[ "decompression_exitdoor_dust" ] = loadfx( "dust/decompression_exitdoor_dust" );
//vp hit fx
level._effect[ "nx_vphit_explosion" ] = LoadFX( "nx/hithard/nx_vphit_explosion" );
level._effect[ "crawling_death_blood_smear" ] = LoadFX( "impacts/blood_smear_decal" );
level._effect[ "blood_pool" ] = loadfx( "impacts/deathfx_bloodpool_generic" );
level._effect[ "nx_flesh_hit_splat_large" ] = loadfx( "impacts/nx_flesh_hit_splat_large" );
level._effect[ "nx_flesh_hit_splat" ] = loadfx( "impacts/nx_flesh_hit_splat" );
apply_hh_b_fog_();
}
//*******************************************************************
// *
// *
//*******************************************************************
apply_hh_b_fog_()
{
//transition_time = 3.0;
//set_vision_set( "nx_hithard_landing", transition_time );
setExpFog( 2166, 20398, 0.6156863, 0.5137255, 0.4, 0.4151667, 0, 0.9215686, 0.9019608, 0.772549, ( 0.945059, -0.0464278, 0.323587 ), 0, 38, 2.17 );
}
//vp blood smear
vphit_dyingCrawlBloodSmear( vp_vpdrag )
{
/*
tagPos = vp_vphit gettagorigin( "j_SpineUpper" ); // rough tag to play fx on
origintag = "J_SpineLower";
angletag = "tag_origin";
fx_rate = .25;
fx = level._effect[ "crawling_death_blood_smear" ];
while( fx_rate )
{
org = vp_vpdrag gettagorigin( origintag );
angles = vp_vpdrag GetTagAngles( angletag );
forward = anglestoright( angles );
up = anglestoforward( ( 270, 0, 0 ) );
playfx( fx, org, up, forward );
wait( fx_rate );
}
*/
fx = level._effect[ "crawling_death_blood_smear" ];
fx_rate = .25;
//self endon( "death" );
last_org = vp_vpdrag.origin;
while ( fx_rate )
{
randomoffset = flat_origin( randomvectorrange( -10, 10 ) );
org = vp_vpdrag.origin + randomoffset;
org = drop_to_ground( org ) + ( 0, 0, 5 );
angles = VectorToAngles( vp_vpdrag.origin - last_org );
forward = AnglesToRight( angles );
up = AnglesToForward( ( 270, 0, 0 ) );
// Line( org, level.player.origin,(0,0,0),1,false,40 );
PlayFX( fx, org, up, forward );
wait( fx_rate );
}
}
//vp blood pools
vp_blood_fall( vp_vphit )
{
tagPos = vp_vphit gettagorigin( "j_SpineUpper" ); // rough tag to play fx on
tagAngles = vp_vphit gettagangles( "j_SpineUpper" );
forward = anglestoforward( tagAngles );
up = anglestoup( tagAngles );
right = anglestoright( tagAngles );
tagPos = tagPos + vector_multiply( forward, -8.5 ) + vector_multiply( up, 5 ) + vector_multiply( right, 0 );
trace = bulletTrace( tagPos + ( 0, 0, 30 ), tagPos - ( 0, 0, 100 ), false, undefined );
if ( trace[ "normal" ][2] > 0.9 )
playfx( level._effect[ "blood_pool" ], tagPos );
}
vphit_slomo()
{
slomoLerpTime_in = 0.6;
slomoLerpTime_out = 0.65;
slomobreachplayerspeed = 0.1;
slomoSpeed = 0.1;
slomoDuration = 10;
// Start slo motion
slowmo_start();
slowmo_setspeed_slow( slomoSpeed );
slowmo_setlerptime_in( slomoLerpTime_in );
slowmo_lerp_in();
level._player SetMoveSpeedScale( slomobreachplayerspeed );
// Wait slo mo duration
wait slomoDuration * slomoSpeed;
// Stop slo motion
slowmo_setlerptime_out( slomoLerpTime_out );
slowmo_lerp_out();
slowmo_end();
level._player SetMoveSpeedScale( 1.0 );
}