foobard
This commit is contained in:
41
maps/mp/af_caves.gsc
Executable file
41
maps/mp/af_caves.gsc
Executable file
@@ -0,0 +1,41 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\af_caves_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_afghan_caves" );
|
||||
|
||||
ambientPlay( "af_caves_ext" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
thread custom_killtrigger();
|
||||
}
|
||||
|
||||
|
||||
custom_killtrigger()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
wait 0.1;
|
||||
|
||||
foreach (player in level.players)
|
||||
{
|
||||
if (!isDefined(player) || !isPlayer(player))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (player.origin[2] < -3980.0) /// Lower level
|
||||
{
|
||||
player suicide();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
157
maps/mp/af_caves_fx.gsc
Executable file
157
maps/mp/af_caves_fx.gsc
Executable file
@@ -0,0 +1,157 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "littlebird_fire_trail" ] = loadfx( "fire/fire_smoke_trail_L" );
|
||||
|
||||
|
||||
level._effect[ "bhd_dirt" ] = LoadFX( "impacts/bhd_dirt" );
|
||||
|
||||
//shadow company dazed xombies on fire/smoking (wip)
|
||||
level._effect[ "body_smoke_01" ] = loadfx( "smoke/grenade_smoke" );
|
||||
level._effect[ "body_smoke_02" ] = loadfx( "smoke/steam_manhole" );
|
||||
level._effect[ "body_smoke_03" ] = loadfx( "smoke/cargo_steam" );
|
||||
level._effect[ "body_fire_01" ] = loadfx( "fire/burninng_soldier_torso" );
|
||||
|
||||
//destruction of airstrip area....called via exploder 100
|
||||
level._effect[ "firelp_small_pm_nolight" ] = loadfx( "fire/firelp_small_pm_nolight" );
|
||||
level._effect[ "firelp_large_pm" ] = loadfx( "fire/firelp_large_pm" );
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
level._effect[ "firelp_large_pm_nolight" ] = loadfx( "fire/firelp_large_pm_nolight" );
|
||||
level._effect[ "firelp_med_pm_nolight" ] = loadfx( "fire/firelp_med_pm_nolight" );
|
||||
level._effect[ "firelp_small_pm_nolight" ] = loadfx( "fire/firelp_small_pm_nolight" );
|
||||
level._effect[ "thick_black_smoke_L" ] = loadfx( "smoke/thick_black_smoke_L" );
|
||||
level._effect[ "thin_black_smoke_M" ] = loadfx( "smoke/thin_black_smoke_M" );
|
||||
level._effect[ "thin_black_smoke_L" ] = loadfx( "smoke/thin_black_smoke_L" );
|
||||
level._effect[ "tower_explosion" ] = loadfx( "explosions/tower_explosion_af_caves" );
|
||||
level._effect[ "helicopter_explosion" ] = loadfx( "explosions/helicopter_explosion_little_bird_af_caves" );
|
||||
|
||||
//cave self-destruct
|
||||
level._effect[ "player_death_explosion" ] = loadfx( "explosions/player_death_explosion" );
|
||||
level._effect[ "player_cave_escape" ] = loadfx( "explosions/player_cave_escape" );
|
||||
level._effect[ "control_room_explosion" ] = loadfx( "explosions/control_room_explosion" );
|
||||
level._effect[ "fireball" ] = loadfx( "fire/fireball_af_caves" );
|
||||
|
||||
// steamroom red light next to door
|
||||
level._effect[ "dlight_red" ] = LoadFX( "misc/dlight_red" );
|
||||
level._effect[ "redlight_glow" ] = LoadFX( "misc/tower_light_red_steady_sort" );
|
||||
level._effect[ "light_glow_white_bulb" ] = LoadFX( "misc/light_glow_white_bulb" );
|
||||
|
||||
level._effect[ "knife_stab" ] = LoadFX( "impacts/flesh_hit_knife" );
|
||||
|
||||
//smoke firefight
|
||||
level._effect[ "smokescreen" ] = loadfx( "smoke/smoke_screen" );
|
||||
|
||||
//Zodiacs
|
||||
level._effect[ "zodiac_wake_geotrail_oilrig" ] = loadfx( "treadfx/zodiac_wake_geotrail_oilrig" );
|
||||
|
||||
//control room breach
|
||||
level._effect[ "light_c4_blink_nodlight" ] = loadfx( "misc/light_c4_blink_nodlight" );
|
||||
level._effect[ "c4_light_blink_dlight" ] = loadfx( "misc/light_c4_blink" );
|
||||
|
||||
//ambient fx
|
||||
level._effect[ "sand_storm_intro" ] = loadfx( "weather/sand_storm_intro" );
|
||||
level._effect[ "sand_storm_light" ] = loadfx( "weather/sand_storm_light" );
|
||||
level._effect[ "sand_storm_distant_oriented" ] = LoadFX( "weather/sand_storm_distant_oriented" );
|
||||
level._effect[ "sand_spray_detail_runner0x400" ] = loadfx( "dust/sand_spray_detail_runner_0x400" );
|
||||
level._effect[ "sand_spray_detail_runner400x400" ] = loadfx( "dust/sand_spray_detail_runner_400x400" );
|
||||
level._effect[ "sand_spray_detail_oriented_runner" ] = loadfx( "dust/sand_spray_detail_oriented_runner" );
|
||||
level._effect[ "sand_spray_cliff_oriented_runner" ] = LoadFX( "dust/sand_spray_cliff_oriented_runner" );
|
||||
|
||||
level._effect[ "dust_wind_fast" ] = loadfx( "dust/dust_wind_fast_afcaves" );
|
||||
level._effect[ "dust_wind_canyon" ] = loadfx( "dust/dust_wind_canyon" );
|
||||
level._effect[ "steam_vent_large_wind" ] = loadfx( "smoke/steam_vent_large_wind" );
|
||||
level._effect[ "thermal_draft_afcaves" ] = loadfx( "smoke/thermal_draft_afcaves" );
|
||||
|
||||
// level._effect[ "waterfall_drainage_short" ] = loadfx( "water/waterfall_drainage_short_physics" );
|
||||
level._effect[ "waterfall_drainage_splash" ] = loadfx( "water/waterfall_drainage_splash" );
|
||||
// level._effect[ "waterfall_splash_large" ] = loadfx( "water/waterfall_splash_large" );
|
||||
level._effect[ "waterfall_splash_large_drops" ] = loadfx( "water/waterfall_splash_large_drops" );
|
||||
// level._effect[ "falling_water_trickle" ] = loadfx( "water/falling_water_trickle" );
|
||||
|
||||
level._effect[ "light_shaft_ground_dust_small" ] = loadfx( "dust/light_shaft_ground_dust_small" );
|
||||
level._effect[ "light_shaft_ground_dust_large" ] = loadfx( "dust/light_shaft_ground_dust_large" );
|
||||
level._effect[ "light_shaft_ground_dust_small_yel" ] = loadfx( "dust/light_shaft_ground_dust_small_yel" );
|
||||
level._effect[ "light_shaft_ground_dust_large_yel" ] = loadfx( "dust/light_shaft_ground_dust_large_yel" );
|
||||
level._effect[ "light_shaft_motes_afcaves" ] = loadfx( "dust/light_shaft_motes_afcaves" );
|
||||
|
||||
//Scripted fx
|
||||
level._effect[ "flashlight" ] = loadfx( "misc/flashlight" );
|
||||
level._effect[ "pistol_muzzleflash" ] = loadfx( "muzzleflashes/pistolflash" );
|
||||
level._effect[ "player_death_explosion" ] = loadfx( "explosions/player_death_explosion" );
|
||||
level._effect[ "cave_explosion" ] = loadfx( "explosions/cave_explosion" );
|
||||
level._effect[ "cave_explosion_exit" ] = loadfx( "explosions/cave_explosion_exit" );
|
||||
|
||||
level._effect[ "mortar" ][ "bunker_ceiling" ] = loadfx( "dust/ceiling_dust_default" );
|
||||
level._effect[ "ceiling_collapse_dirt1" ] = loadfx( "dust/ceiling_collapse_dirt1" );
|
||||
level._effect[ "ceiling_rock_break" ] = loadfx( "misc/ceiling_rock_break" );
|
||||
level._effect[ "hallway_collapsing_big" ] = loadfx( "misc/hallway_collapsing_big" );
|
||||
level._effect[ "hallway_collapsing_huge" ] = loadfx( "misc/hallway_collapsing_huge" );
|
||||
level._effect[ "hallway_collapse_ceiling_smoke" ] = loadfx( "smoke/hallway_collapse_ceiling_smoke" );
|
||||
level._effect[ "hallway_collapsing_chase" ] = loadfx( "misc/hallway_collapsing_chase" );
|
||||
level._effect[ "hallway_collapsing_cavein" ] = loadfx( "misc/hallway_collapsing_cavein" );
|
||||
level._effect[ "hallway_collapsing_cavein_short" ] = loadfx( "misc/hallway_collapsing_cavein_short" );
|
||||
|
||||
level._effect[ "hallway_collapsing_burst" ] = loadfx( "misc/hallway_collapsing_burst" );
|
||||
level._effect[ "hallway_collapsing_burst_no_linger" ] = loadfx( "misc/hallway_collapsing_burst_no_linger" );
|
||||
level._effect[ "hallway_collapsing_major" ] = loadfx( "misc/hallway_collapsing_major" );
|
||||
level._effect[ "hallway_collapsing_major_norocks" ] = loadfx( "misc/hallway_collapsing_major_norocks" );
|
||||
|
||||
level._effect[ "building_explosion_metal" ] = loadfx( "explosions/building_explosion_metal_gulag" );
|
||||
level._effect[ "tanker_explosion" ] = loadfx( "explosions/tanker_explosion" );
|
||||
level._effect[ "airstrip_explosion" ] = loadfx( "explosions/airstrip_explosion" );
|
||||
level._effect[ "bunker_ceiling" ] = loadfx( "dust/ceiling_dust_default" );
|
||||
|
||||
level._effect[ "heli_impacts" ] = loadfx( "impacts/large_dirt_1" );
|
||||
level._effect[ "welding_small_extended" ] = loadfx( "misc/welding_small_extended" );
|
||||
level._effect[ "fire_falling_runner_point" ] = loadfx( "fire/fire_falling_runner_point" );
|
||||
|
||||
level._effect[ "gulag_cafe_spotlight" ] = loadfx( "misc/gulag_cafe_spotlight" );
|
||||
|
||||
level._effect[ "heli_aerial_explosion" ] = loadfx( "explosions/aerial_explosion" );
|
||||
level._effect[ "heli_aerial_explosion_large" ] = loadfx( "explosions/aerial_explosion_large" );
|
||||
|
||||
// steam room
|
||||
level._effect[ "steam_room_100" ] = LoadFX( "smoke/steam_room_100" );
|
||||
level._effect[ "steam_room_100_nocull" ] = LoadFX( "smoke/steam_room_100_nocull" );
|
||||
level._effect[ "steam_room_100_nocull_red" ] = LoadFX( "smoke/steam_room_100_nocull_red" );
|
||||
level._effect[ "steam_room_ceiling" ] = LoadFX( "smoke/steam_room_ceiling" );
|
||||
level._effect[ "steam_room_floor" ] = LoadFX( "smoke/steam_room_floor" );
|
||||
level._effect[ "steam_room_fill" ] = LoadFX( "smoke/steam_room_fill" );
|
||||
level._effect[ "steam_room_add_large" ] = LoadFX( "smoke/steam_room_add_large" );
|
||||
level._effect[ "steam_room_add_small" ] = LoadFX( "smoke/steam_room_add_small" );
|
||||
// level._effect[ "ground_smoke1200x1200" ] = LoadFX( "smoke/ground_smoke1200x1200" );
|
||||
level._effect[ "pipe_steam_looping" ] = LoadFX( "impacts/pipe_steam_looping" );
|
||||
|
||||
|
||||
|
||||
// steam room
|
||||
level._effect[ "steam_room_100_dark" ] = LoadFX( "smoke/steam_room_100_dark" );
|
||||
level._effect[ "steam_room_100_nocull_dark" ] = LoadFX( "smoke/steam_room_100_nocull_dark" );
|
||||
level._effect[ "steam_room_ceiling_dark" ] = LoadFX( "smoke/steam_room_ceiling_dark" );
|
||||
level._effect[ "steam_room_floor_dark" ] = LoadFX( "smoke/steam_room_floor_dark" );
|
||||
level._effect[ "steam_room_fill_dark" ] = LoadFX( "smoke/steam_room_fill_dark" );
|
||||
level._effect[ "steam_room_add_large_dark" ] = LoadFX( "smoke/steam_room_add_large_dark" );
|
||||
level._effect[ "steam_room_add_small_dark" ] = LoadFX( "smoke/steam_room_add_small_dark" );
|
||||
level._effect[ "pipe_steam_dark_looping" ] = LoadFX( "impacts/pipe_steam_dark_looping" );
|
||||
level._effect[ "steam_vent_large_wind_dark" ] = LoadFX( "smoke/steam_vent_large_wind_dark" );
|
||||
|
||||
level._effect[ "drips_slow" ] = LoadFX( "misc/drips_slow" );
|
||||
level._effect[ "drips_slow_infrequent" ] = LoadFX( "misc/drips_slow_infrequent" );
|
||||
|
||||
level._effect[ "pipe_steam_dark" ] = LoadFX( "impacts/pipe_steam_dark" );
|
||||
|
||||
//enable this line for correct vision in createfx BESURE TO DISABLE
|
||||
thread maps\_utility::vision_set_fog_changes( "af_caves_indoors_steamroom", 0 );
|
||||
|
||||
// enable this line to see the lights on in the steam room
|
||||
thread maps\af_caves::steamroom_lighting_setup();
|
||||
|
||||
add_earthquake( "backdoor_barracks" , 0.2, .75, 1024 );
|
||||
add_earthquake( "steamroom" , 0.25, 2.75, 1024 );
|
||||
add_earthquake( "controlroom_shake" , 0.25, .75, 1024 );
|
||||
|
||||
maps\createfx\af_caves_fx::main();
|
||||
}
|
||||
20
maps/mp/af_chase.gsc
Executable file
20
maps/mp/af_chase.gsc
Executable file
@@ -0,0 +1,20 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\af_chase_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
setDvar( "r_specularcolorscale", "3" );
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_afghan_chase" );
|
||||
|
||||
ambientPlay( "ambient_af_chase_caves_int0" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
173
maps/mp/af_chase_fx.gsc
Executable file
173
maps/mp/af_chase_fx.gsc
Executable file
@@ -0,0 +1,173 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "explosions/large_vehicle_explosion" ] = loadfx( "explosions/large_vehicle_explosion" );
|
||||
|
||||
//walking through water
|
||||
level._effect[ "water_stop" ] = LoadFX( "misc/parabolic_water_stand" );
|
||||
level._effect[ "water_movement" ] = LoadFX( "misc/parabolic_water_movement" );
|
||||
|
||||
level._effect[ "rocket_hits_heli" ] = LoadFX( "explosions/grenadeExp_metal" );
|
||||
|
||||
/*-----------------------------------------------------------------------------------------------------*/
|
||||
|
||||
//Zodiac Wake
|
||||
level._effect[ "zodiac_wake_geotrail" ] = LoadFX( "treadfx/zodiac_wake_geotrail_af_chase" );
|
||||
|
||||
// only ever see the front of the players boat plays on tag_origin
|
||||
level._effect[ "zodiac_leftground" ] = LoadFX( "misc/watersplash_large" );
|
||||
|
||||
//Zodiac bigbump
|
||||
level._effect[ "player_zodiac_bumpbig" ] = LoadFX( "misc/watersplash_large" );
|
||||
level._effect[ "zodiac_bumpbig" ] = LoadFX( "misc/watersplash_large" );
|
||||
level._effect_tag[ "zodiac_bumpbig" ] = "tag_guy2";// pushing this farther forward so the player sees it better.
|
||||
|
||||
//Zodiac bump
|
||||
level._effect[ "player_zodiac_bump" ] = LoadFX( "impacts/large_waterhit" );
|
||||
level._effect[ "zodiac_bump" ] = LoadFX( "impacts/large_waterhit" );
|
||||
|
||||
//zodiac collision
|
||||
level._effect[ "zodiac_collision" ] = LoadFX( "misc/watersplash_large" );
|
||||
level._effect_tag[ "zodiac_collision" ] = "TAG_DEATH_FX";// pushing this farther forward so the player sees it better.
|
||||
|
||||
/*-----------------------------------------------------------------------------------------------------*/
|
||||
|
||||
//Zodiac Bounce Small Left
|
||||
level._effect[ "zodiac_bounce_small_left" ] = LoadFX( "water/zodiac_splash_bounce_small" );
|
||||
level._effect_tag[ "zodiac_bounce_small_left" ] = "TAG_FX_LF";
|
||||
|
||||
//Zodiac Bounce Small Right
|
||||
level._effect[ "zodiac_bounce_small_right" ] = LoadFX( "water/zodiac_splash_bounce_small" );
|
||||
level._effect_tag[ "zodiac_bounce_small_right" ] = "TAG_FX_RF";
|
||||
|
||||
//Zodiac Bounce Large Left
|
||||
level._effect[ "zodiac_bounce_large_left" ] = LoadFX( "water/zodiac_splash_bounce_large" );
|
||||
level._effect_tag[ "zodiac_bounce_large_left" ] = "TAG_FX_LF";
|
||||
|
||||
//Zodiac Bounce Large Right
|
||||
level._effect[ "zodiac_bounce_large_right" ] = LoadFX( "water/zodiac_splash_bounce_large" );
|
||||
level._effect_tag[ "zodiac_bounce_large_right" ] = "TAG_FX_RF";
|
||||
|
||||
/*-----------------------------------------------------------------------------------------------------*/
|
||||
|
||||
//Zodiac Turn Hard Left /Hit left
|
||||
level._effect[ "zodiac_sway_left" ] = LoadFX( "water/zodiac_splash_turn_hard" );
|
||||
level._effect_tag[ "zodiac_sway_left" ] = "TAG_FX_LF";
|
||||
|
||||
//Zodiac Turn Hard Right /Hit right
|
||||
level._effect[ "zodiac_sway_right" ] = LoadFX( "water/zodiac_splash_turn_hard" );
|
||||
level._effect_tag[ "zodiac_sway_right" ] = "TAG_FX_RF";
|
||||
|
||||
//Zodiac Turn Light Left
|
||||
level._effect[ "zodiac_sway_left_light" ] = LoadFX( "water/zodiac_splash_turn_light" );
|
||||
level._effect_tag[ "zodiac_sway_left_light" ] = "TAG_FX_LF";
|
||||
|
||||
//Zodiac Turn Light Right
|
||||
level._effect[ "zodiac_sway_right_light" ] = LoadFX( "water/zodiac_splash_turn_light" );
|
||||
level._effect_tag[ "zodiac_sway_right_light" ] = "TAG_FX_RF";
|
||||
|
||||
/*-----------------------------------------------------------------------------------------------------*/
|
||||
|
||||
//sound
|
||||
level.zodiac_fx_sound[ "zodiac_bump" ] = "water_boat_splash_small";
|
||||
level.zodiac_fx_sound[ "zodiac_bumpbig" ] = "water_boat_splash";
|
||||
|
||||
level.zodiac_fx_sound[ "player_zodiac_bump" ] = "water_boat_splash_small_plr";
|
||||
level.zodiac_fx_sound[ "player_zodiac_bumpbig" ] = "water_boat_splash_plr";
|
||||
|
||||
//two bumps small and big. change them at points in the level to allow more or less visibility.
|
||||
level.water_sheating_time[ "bump_big_start" ] = 2;
|
||||
level.water_sheating_time[ "bump_small_start" ] = 1;
|
||||
|
||||
// sheeting time smaller just so action can be more visible. I'm just trying this I suppose
|
||||
level.water_sheating_time[ "bump_big_after_rapids" ] = 4;
|
||||
level.water_sheating_time[ "bump_small_after_rapids" ] = 2;
|
||||
|
||||
// water sheating time when the player dies. meant to be really long to cover up some nasty.
|
||||
level.water_sheating_time[ "bump_big_player_dies" ] = 7;
|
||||
level.water_sheating_time[ "bump_small_player_dies" ] = 3;
|
||||
|
||||
|
||||
//player falls over waterfall, this shoots up just as they go over.
|
||||
level._effect[ "splash_over_waterfall" ] = LoadFX( "misc/watersplash_large" );
|
||||
|
||||
//player falls over waterfall, this shoots up when they hit below
|
||||
level._effect[ "player_hits_water_after_waterfall" ] = LoadFX( "misc/watersplash_large" );
|
||||
|
||||
|
||||
level._effect[ "powerline_runner_cheap" ] = loadfx( "explosions/powerline_runner_cheap" );
|
||||
level._effect[ "firelp_small_pm_a_nolight" ] = LoadFX( "fire/firelp_small_pm_a_nolight" );
|
||||
level._effect[ "firelp_large_pm_nolight" ] = LoadFX( "fire/firelp_large_pm_nolight" );
|
||||
level._effect[ "heli_crash_fire" ] = LoadFX( "fire/pavelow_crash_large" );
|
||||
level._effect[ "heli_crash_fire_short_smoke" ] = LoadFX( "fire/pavelow_crash_large_short_smoke" );
|
||||
level._effect[ "no_effect" ] = LoadFX( "misc/no_effect" );
|
||||
level._effect[ "player_stabbed" ] = LoadFX( "impacts/player_stabbed" );
|
||||
level._effect[ "player_knife_wound" ] = LoadFX( "impacts/player_knife_wound" );
|
||||
level._effect[ "player_knife_pull_1" ] = LoadFX( "impacts/player_knife_pull_1" );
|
||||
level._effect[ "player_knife_pull_2" ] = LoadFX( "impacts/player_knife_pull_2" );
|
||||
level._effect[ "blood_sheperd_eye" ] = LoadFX( "misc/blood_sheperd_eye" );
|
||||
level._effect[ "blood_sheperd_eye_geotrail" ] = LoadFX( "misc/blood_sheperd_eye_geotrail" );
|
||||
level._effect[ "revolver_bullets" ] = LoadFX( "shellejects/revolver_af_chase" );
|
||||
level._effect[ "crawl_dust_sandstorm_runner" ] = LoadFX( "impacts/crawl_dust_sandstorm_runner" );
|
||||
level._effect[ "footstep_dust_sandstorm_runner" ] = LoadFX( "impacts/footstep_dust_sandstorm_runner" );
|
||||
level._effect[ "footstep_dust_sandstorm_small_runner" ] = LoadFX( "impacts/footstep_dust_sandstorm_small_runner" );
|
||||
level._effect[ "bodyfall_dust_sandstorm_large_runner" ] = LoadFX( "impacts/bodyfall_dust_sandstorm_large_runner" );
|
||||
|
||||
|
||||
// need something cool here.
|
||||
level._effect[ "body_falls_from_ropes_splash" ] = LoadFX( "impacts/large_waterhit" );
|
||||
|
||||
level._effect[ "sand_storm_distant" ] = LoadFX( "weather/sand_storm_distant" );
|
||||
level._effect[ "sand_storm_canyon_light" ] = LoadFX( "weather/sand_storm_canyon_light" );
|
||||
level._effect[ "sand_storm_player" ] = LoadFX( "weather/sand_storm_player" );
|
||||
level._effect[ "sand_storm_intro" ] = LoadFX( "weather/sand_storm_intro" );
|
||||
level._effect[ "sand_storm_light" ] = LoadFX( "weather/sand_storm_light" );
|
||||
level._effect[ "sand_storm_distant_oriented" ] = LoadFX( "weather/sand_storm_distant_oriented" );
|
||||
level._effect[ "sand_spray_detail_runner0x400" ] = LoadFX( "dust/sand_spray_detail_runner_0x400" );
|
||||
level._effect[ "sand_spray_detail_runner400x400" ] = LoadFX( "dust/sand_spray_detail_afchase_runner_400x400" );
|
||||
level._effect[ "sand_spray_detail_oriented_runner" ] = LoadFX( "dust/sand_spray_detail_oriented_runner" );
|
||||
level._effect[ "sand_spray_detail_oriented_runner" ] = LoadFX( "dust/sand_spray_detail_oriented_runner" );
|
||||
level._effect[ "sand_spray_cliff_oriented_runner" ] = LoadFX( "dust/sand_spray_cliff_oriented_runner" );
|
||||
|
||||
level._effect[ "dust_wind_fast" ] = LoadFX( "dust/dust_wind_fast_afcaves" );
|
||||
level._effect[ "dust_wind_canyon" ] = LoadFX( "dust/dust_wind_canyon_far" );
|
||||
level._effect[ "steam_vent_large_wind" ] = LoadFX( "smoke/steam_vent_large_wind" );
|
||||
|
||||
level._effect[ "ground_fog_afchase" ] = LoadFX( "smoke/ground_fog_afchase" );
|
||||
level._effect[ "light_shaft_ground_dust_small" ] = LoadFX( "dust/light_shaft_ground_dust_small" );
|
||||
level._effect[ "light_shaft_ground_dust_large" ] = LoadFX( "dust/light_shaft_ground_dust_large" );
|
||||
level._effect[ "light_shaft_ground_dust_small_yel" ] = LoadFX( "dust/light_shaft_ground_dust_small_yel" );
|
||||
level._effect[ "light_shaft_ground_dust_large_yel" ] = LoadFX( "dust/light_shaft_ground_dust_large_yel" );
|
||||
level._effect[ "light_shaft_motes_afchase" ] = LoadFX( "dust/light_shaft_motes_afchase" );
|
||||
|
||||
if ( level.script == "ending" )
|
||||
level._effect[ "light_glow_white_bulb" ] = LoadFX( "dust/light_shaft_motes_afchase" );
|
||||
else
|
||||
level._effect[ "light_glow_white_bulb" ] = LoadFX( "misc/light_glow_white_bulb" );
|
||||
|
||||
level._effect[ "splash_underwater_afchase" ] = loadfx( "water/splash_underwater_afchase" );
|
||||
level._effect[ "rapids_splash_0x1000" ] = LoadFX( "water/rapids_splash_0x1000" );
|
||||
level._effect[ "rapids_splash_1000x1000" ] = LoadFX( "water/rapids_splash_1000x1000" );
|
||||
level._effect[ "rapids_splash_large" ] = LoadFX( "water/rapids_splash_large" );
|
||||
level._effect[ "rapids_splash_large_dark" ] = LoadFX( "water/rapids_splash_large_dark" );
|
||||
level._effect[ "rapids_splash_large_far" ] = LoadFX( "water/rapids_splash_large_far" );
|
||||
level._effect[ "waterfall_afchase" ] = LoadFX( "water/waterfall_afchase" );
|
||||
level._effect[ "waterfall_base_afchase" ] = LoadFX( "water/waterfall_base_afchase" );
|
||||
|
||||
level._effect[ "heli_blinds_player" ] = LoadFX( "weather/sand_storm_player_blind" );
|
||||
level._effect[ "shepherd_anaconda" ] = LoadFX( "muzzleflashes/desert_eagle_flash_wv");
|
||||
// this overrides the blizzard snow fx.
|
||||
|
||||
//Zodiac Bounce Small Left
|
||||
level._effect[ "pavelow_minigunner_splash_add" ] = LoadFX( "water/zodiac_splash_bounce_small" );
|
||||
|
||||
level._effect[ "bloodpool_ending" ] = Loadfx( "impacts/deathfx_bloodpool_ending" );
|
||||
|
||||
|
||||
if ( GetDvarInt( "r_reflectionProbeGenerate" ) )
|
||||
return;
|
||||
|
||||
maps\createfx\af_chase_fx::main();
|
||||
|
||||
}
|
||||
18
maps/mp/airport.gsc
Executable file
18
maps/mp/airport.gsc
Executable file
@@ -0,0 +1,18 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\airport_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_airport" );
|
||||
|
||||
ambientPlay( "ambient_airport_terminal0" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
44
maps/mp/airport_fx.gsc
Executable file
44
maps/mp/airport_fx.gsc
Executable file
@@ -0,0 +1,44 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "headshot" ] = loadfx( "impacts/flesh_hit_head_fatal_exit" );
|
||||
level._effect[ "bodyshot" ] = loadfx( "impacts/flesh_hit" );
|
||||
level._effect[ "killshot" ] = loadfx( "impacts/flesh_hit_body_fatal_exit" );
|
||||
|
||||
level._effect[ "sign_fx" ] = loadfx( "misc/light_blowout_large_radial" );
|
||||
|
||||
level._effect[ "highrise_glass_120x110" ] = loadfx( "props/highrise_glass_120x110" );
|
||||
level._effect[ "artilleryExp_dirt_brown_low" ] = loadfx( "explosions/artilleryExp_dirt_brown_low" );
|
||||
level._effect[ "airlift_explosion_large" ] = loadfx( "explosions/airlift_explosion_large" );
|
||||
level._effect[ "wall_explosion_1" ] = loadfx( "explosions/wall_explosion_1_airport" );
|
||||
|
||||
level._effect[ "sparks_fall" ] = loadfx( "explosions/sparks_falling_runner" );
|
||||
|
||||
|
||||
level._effect[ "jet_fire" ] = loadfx( "fire/jet_engine_fire" );
|
||||
level._effect[ "jet_explosion" ] = loadfx( "explosions/jet_engine_explosion" );
|
||||
|
||||
level._effect[ "ground_smoke_1200x1200" ] = LoadFX( "smoke/ground_smoke1200x1200" );
|
||||
level._effect[ "hallway_smoke_light" ] = LoadFX( "smoke/hallway_smoke_light" );
|
||||
|
||||
level._effect[ "drips_slow" ] = loadfx( "misc/drips_slow" );
|
||||
level._effect[ "drips_slow_infrequent" ] = loadfx( "misc/drips_slow_infrequent" );
|
||||
|
||||
level._effect[ "spark_fountain" ] = loadfx( "misc/spark_fountain" );
|
||||
|
||||
level._effect[ "jet_engine_737" ] = loadfx( "fire/jet_engine_737" );
|
||||
level._effect[ "jet_engine_fire_debris" ] = loadfx( "fire/fire_debris_child" );
|
||||
|
||||
|
||||
level._effect[ "deathfx_bloodpool" ] = loadfx( "impacts/deathfx_bloodpool" );
|
||||
level._effect[ "blood_drip" ] = loadfx( "impacts/blood_drip" );
|
||||
|
||||
//Glass Trail Effect
|
||||
level._effect[ "glass_dust_trail" ]= loadfx( "dust/glass_dust_trail_emitter" );
|
||||
|
||||
level._effect[ "pistol_muzzleflash" ]= loadfx( "muzzleflashes/pistolflash" );
|
||||
level._effect[ "m79_muzzleflash" ]= loadfx( "muzzleflashes/m203_flshview" );
|
||||
|
||||
}
|
||||
|
||||
23
maps/mp/arcadia.gsc
Executable file
23
maps/mp/arcadia.gsc
Executable file
@@ -0,0 +1,23 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
setDvar( "r_lightGridEnableTweaks", 1 );
|
||||
setDvar( "r_lightGridIntensity", 1.2 );
|
||||
setDvar( "r_lightGridContrast", 0 );
|
||||
setDvar( "sm_sunShadowScale", 0.7 );
|
||||
|
||||
maps\arcadia_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap("compass_map_arcadia");
|
||||
|
||||
ambientPlay( "arcadia_ext3" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
73
maps/mp/arcadia_fx.gsc
Executable file
73
maps/mp/arcadia_fx.gsc
Executable file
@@ -0,0 +1,73 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "zpu_muzzle" ] = loadfx( "muzzleflashes/zpu_flash_wv" );
|
||||
level._effect[ "zpu_explode" ] = loadfx( "explosions/vehicle_explosion_bmp" );
|
||||
|
||||
level._effect[ "mortar_grass" ] = loadfx( "explosions/grenadeExp_mud" );
|
||||
level._effect[ "mortar_sand" ] = loadfx( "explosions/grenadeExp_dirt" );
|
||||
|
||||
level._effect[ "stryker_smoke" ] = loadfx( "smoke/heli_engine_smolder" );
|
||||
|
||||
level._effect[ "jet_engine_crashing" ] = loadfx( "fire/jet_engine_crashing" );
|
||||
level._effect[ "c130_engine_smoke" ] = loadfx( "smoke/smoke_trail_black_jet" );
|
||||
level._effect[ "c130_engine_secondary_exp" ] = loadfx( "explosions/aerial_explosion_crashing" );
|
||||
level._effect[ "c130_explode" ] = loadfx( "explosions/airlift_explosion_large" );
|
||||
|
||||
level._effect[ "water_stop" ] = LoadFX( "misc/parabolic_water_stand" );
|
||||
level._effect[ "water_movement" ] = LoadFX( "misc/parabolic_water_movement" );
|
||||
|
||||
level._effect[ "leaves_spiral_runner" ] = LoadFX( "misc/leaves_spiral_runner" );
|
||||
|
||||
if ( getdvarint( "r_arcadia_culldist" ) == 1 )
|
||||
level._effect[ "smoke_plume02" ] = LoadFX( "misc/no_effect" );
|
||||
else
|
||||
level._effect[ "smoke_plume02" ] = LoadFX( "smoke/smoke_plume02" );
|
||||
|
||||
level._effect[ "horizon_smokefield_dark" ] = LoadFX( "smoke/horizon_smokefield_dark" );
|
||||
level._effect[ "room_smoke_200" ] = LoadFX( "smoke/room_smoke_200" );
|
||||
level._effect[ "ground_fog" ] = LoadFX( "dust/ground_fog" );
|
||||
level._effect[ "ground_fog_a" ] = LoadFX( "dust/ground_fog_a" );
|
||||
level._effect[ "ground_fog_b" ] = LoadFX( "dust/ground_fog_b" );
|
||||
level._effect[ "trash_spiral_runner" ] = LoadFX( "misc/trash_spiral_runner" );
|
||||
level._effect[ "trash_spiral_runner_far" ] = LoadFX( "misc/trash_spiral_runner_far" );
|
||||
level._effect[ "tanker_explosion_tall" ] = LoadFX( "explosions/tanker_explosion_tall" );
|
||||
level._effect[ "airplane_crash_smoke" ] = LoadFX( "smoke/airplane_crash_smoke" );
|
||||
level._effect[ "airplane_crash_smoke_sun_blocker" ] = LoadFX( "smoke/airplane_crash_smoke_sun_blocker" );
|
||||
level._effect[ "airplane_crash_embers" ] = LoadFX( "fire/airplane_crash_embers" );
|
||||
level._effect[ "powerline_runner" ] = LoadFX( "explosions/powerline_runner" );
|
||||
level._effect[ "powerline_runner_cheap" ] = LoadFX( "explosions/powerline_runner_cheap" );
|
||||
level._effect[ "tire_fire_med" ] = LoadFX( "fire/tire_fire_med" );
|
||||
level._effect[ "fire_falling_runner_point" ] = LoadFX( "fire/fire_falling_runner_point" );
|
||||
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[ "firelp_large_pm_far" ] = LoadFX( "fire/firelp_large_pm_far" );
|
||||
level._effect[ "firelp_med_pm_far" ] = LoadFX( "fire/firelp_med_pm_far" );
|
||||
level._effect[ "firelp_large_pm_nolight" ] = LoadFX( "fire/firelp_large_pm_nolight" );
|
||||
level._effect[ "firelp_med_pm_nolight" ] = LoadFX( "fire/firelp_med_pm_nolight" );
|
||||
level._effect[ "firelp_small_pm_a_nolight" ] = LoadFX( "fire/firelp_small_pm_a_nolight" );
|
||||
level._effect[ "firelp_large_pm_nolight_high" ] = LoadFX( "fire/firelp_large_pm_nolight_high" );
|
||||
level._effect[ "firelp_med_pm_nolight_high" ] = LoadFX( "fire/firelp_med_pm_nolight_high" );
|
||||
level._effect[ "leaves_fall_gentlewind" ] = LoadFX( "misc/leaves_fall_gentlewind" );
|
||||
level._effect[ "leaves_fall_gentlewind_far" ] = LoadFX( "misc/leaves_fall_gentlewind_far" );
|
||||
level._effect[ "leaves_ground_gentlewind" ] = LoadFX( "misc/leaves_ground_gentlewind" );
|
||||
level._effect[ "battlefield_smokebank_S_warm" ] = LoadFX( "smoke/battlefield_smokebank_S_warm" );
|
||||
level._effect[ "battlefield_smokebank_S_warm_thick" ] = LoadFX( "smoke/battlefield_smokebank_S_warm_thick" );
|
||||
level._effect[ "insect_trail_runner_icbm" ] = LoadFX( "misc/insect_trail_runner_icbm" );
|
||||
level._effect[ "moth_runner" ] = LoadFX( "misc/moth_runner" );
|
||||
level._effect[ "insects_light_invasion" ] = LoadFX( "misc/insects_light_invasion" );
|
||||
level._effect[ "insects_carcass_runner" ] = LoadFX( "misc/insects_carcass_runner" );
|
||||
level._effect[ "waterfall_splash_arcadia" ] = LoadFX( "water/waterfall_splash_arcadia" );
|
||||
level._effect[ "waterfall_splash_arcadia_short" ] = LoadFX( "water/waterfall_splash_arcadia_short" );
|
||||
level._effect[ "tracer_incoming" ] = LoadFX( "misc/tracer_incoming" );
|
||||
|
||||
|
||||
level._effect[ "b2_bomb" ] = loadfx( "explosions/airlift_explosion_large" );
|
||||
|
||||
level.scr_sound[ "mortar_incomming" ] = "mortar_incoming";
|
||||
level.scr_sound[ "mortar_grass" ] = "mortar_explosion";
|
||||
level.scr_sound[ "mortar_sand" ] = "mortar_explo sion";
|
||||
|
||||
maps\createfx\arcadia_fx::main();
|
||||
}
|
||||
24
maps/mp/boneyard.gsc
Executable file
24
maps/mp/boneyard.gsc
Executable file
@@ -0,0 +1,24 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\boneyard_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_boneyard" );
|
||||
|
||||
ambientPlay( "ambient_boneyard_ext0" );
|
||||
|
||||
setdvar( "r_specularcolorscale", "2.5" );
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.452 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
|
||||
}
|
||||
25
maps/mp/boneyard_fx.gsc
Executable file
25
maps/mp/boneyard_fx.gsc
Executable file
@@ -0,0 +1,25 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "large_explosion" ] = loadfx( "explosions/large_vehicle_explosion" );
|
||||
level._effect[ "wood_burst" ] = loadfx( "explosions/wood_explosion_1" );
|
||||
level._effect[ "wood_burst2" ] = loadfx( "explosions/grenadeExp_wood" );
|
||||
level._effect[ "wing_drop_dust" ] = loadfx( "dust/wing_drop_dust" );
|
||||
level._effect[ "dust_spiral01" ] = loadfx( "dust/dust_spiral01" );
|
||||
level._effect[ "angel_flare_geotrail" ] = loadfx( "smoke/angel_flare_geotrail" );
|
||||
level._effect[ "angel_flare_swirl" ] = loadfx( "smoke/angel_flare_swirl_runner" );
|
||||
level._effect[ "scrape_sparks" ] = loadfx( "misc/vehicle_scrape_sparks_c130" );
|
||||
level._effect[ "blood" ] = loadfx( "impacts/sniper_escape_blood" );
|
||||
level._effect[ "blood_dashboard_splatter" ] = loadfx( "impacts/blood_dashboard_splatter_boneyard" );
|
||||
|
||||
//Ambient FX
|
||||
level._effect[ "dust_wind_fast" ] = loadfx( "dust/dust_wind_fast" );
|
||||
level._effect[ "dust_wind_fast_light" ] = loadfx( "dust/dust_wind_fast_light" );
|
||||
level._effect[ "trash_spiral_runner" ] = loadfx( "misc/trash_spiral_runner" );
|
||||
level._effect[ "thin_black_smoke_L" ] = loadfx( "smoke/thin_black_smoke_L_nofog" );
|
||||
level._effect[ "hallway_smoke_light" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
level._effect[ "insects_carcass_runner" ] = loadfx( "misc/insects_carcass_runner" );
|
||||
|
||||
maps\createfx\boneyard_fx::main();
|
||||
}
|
||||
16
maps/mp/char_museum.gsc
Executable file
16
maps/mp/char_museum.gsc
Executable file
@@ -0,0 +1,16 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\char_museum_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_overlay_map_blank" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
19
maps/mp/char_museum_fx.gsc
Executable file
19
maps/mp/char_museum_fx.gsc
Executable file
@@ -0,0 +1,19 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
|
||||
main()
|
||||
{
|
||||
precacheFX();
|
||||
maps\createfx\char_museum_fx::main();
|
||||
|
||||
}
|
||||
precacheFX()
|
||||
{
|
||||
|
||||
level._effect[ "tank_bubbles_character_room" ] = loadfx( "water/tank_bubbles_character_room" );
|
||||
level._effect[ "scuba_bubbles_friendly" ] = loadfx( "water/scuba_bubbles_breath" );
|
||||
level._effect[ "snow_blower" ] = loadfx( "snow/snow_blower" );
|
||||
|
||||
level._effect[ "c4_blink" ] = loadfx( "misc/light_c4_blink" );
|
||||
|
||||
}
|
||||
19
maps/mp/cliffhanger.gsc
Executable file
19
maps/mp/cliffhanger.gsc
Executable file
@@ -0,0 +1,19 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\cliffhanger_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_cliffhanger" );
|
||||
|
||||
ambientPlay( "ambient_cliffhanger_ext0" );
|
||||
|
||||
setDvar( "r_specularcolorscale", "1.2" );
|
||||
setDvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
82
maps/mp/cliffhanger_fx.gsc
Executable file
82
maps/mp/cliffhanger_fx.gsc
Executable file
@@ -0,0 +1,82 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level thread precacheFX();
|
||||
maps\createfx\cliffhanger_fx::main();
|
||||
}
|
||||
|
||||
precacheFX()
|
||||
{
|
||||
|
||||
//Player Footstep fx
|
||||
level._effect[ "footstep_snow_small" ] = loadfx( "impacts/footstep_snow_small" );
|
||||
level._effect[ "footstep_snow" ] = loadfx( "impacts/footstep_snow" );
|
||||
|
||||
//Price Climbing FX (more in _climb.gsc)
|
||||
level._effect[ "snow_price_grab" ] = loadfx( "snow/snow_price_grab" );
|
||||
level._effect[ "snow_jump" ] = loadfx( "snow/snow_jump" );
|
||||
level._effect[ "snow_dropping_debris" ] = loadfx( "snow/snow_dropping_debris" );
|
||||
|
||||
//Price SLiding fx
|
||||
level._effect[ "price_landing" ] = loadfx( "snow/snow_price_landing" );
|
||||
level._effect[ "price_sliding" ] = loadfx( "snow/snow_price_sliding" );
|
||||
|
||||
//Snowmobile FX
|
||||
level._effect[ "tread_snow_snowmobile_skidout" ] = loadfx( "treadfx/tread_snow_snowmobile_skidout" );
|
||||
|
||||
//Mig Landing FX
|
||||
level._effect[ "mig_landing_snow" ] = loadfx( "treadfx/mig_landing_snow_runner" );
|
||||
level._effect[ "mig_landing_trail_snow" ] = loadfx( "smoke/mig29_landing_trail_snow" );
|
||||
|
||||
//Ambient fx
|
||||
level._effect[ "snow_blowoff_ledge" ] = loadfx( "snow/snow_blowoff_ledge" );
|
||||
level._effect[ "snow_blowoff_ledge_runner" ] = loadfx( "snow/snow_blowoff_ledge_runner" );
|
||||
|
||||
level._effect[ "snow_updraft" ] = loadfx( "snow/snow_updraft" );
|
||||
level._effect[ "snow_updraft_runner" ] = loadfx( "snow/snow_updraft_runner" );
|
||||
|
||||
level._effect[ "snow_clifftop_runner" ] = loadfx( "snow/snow_clifftop_runner" );
|
||||
level._effect[ "snow_clifftop_jet_blow" ] = loadfx( "snow/snow_clifftop_jet_blow" );
|
||||
|
||||
level._effect[ "snow_spray_detail_runner400x400" ] = loadfx( "snow/snow_spray_detail_runner400x400" );
|
||||
level._effect[ "snow_spray_detail_runner0x400" ] = loadfx( "snow/snow_spray_detail_runner0x400" );
|
||||
level._effect[ "snow_spray_detail_runner0x400_far" ] = loadfx( "snow/snow_spray_detail_runner0x400_far" );
|
||||
level._effect[ "snow_spray_detail_runner0x200_far" ] = loadfx( "snow/snow_spray_detail_runner0x200_far" );
|
||||
level._effect[ "snow_spray_detail_runner50x50" ] = loadfx( "snow/snow_spray_detail_runner50x50" );
|
||||
|
||||
//Lights
|
||||
level._effect[ "lighthaze_snow" ] = loadfx( "misc/lighthaze_snow" );
|
||||
level._effect[ "lighthaze_snow_headlights" ] = loadfx( "misc/lighthaze_snow_headlights" );
|
||||
level._effect[ "car_taillight_uaz_l" ] = loadfx( "misc/car_taillight_uaz_l" );
|
||||
level._effect[ "lighthaze_snow_spotlight" ] = loadfx( "misc/lighthaze_snow_spotlight" );
|
||||
level._effect[ "aircraft_light_red_blink" ] = loadfx( "misc/aircraft_light_red_blink" );
|
||||
level._effect[ "power_tower_light_red_blink" ] = loadfx( "misc/power_tower_light_red_blink" );
|
||||
level._effect[ "light_glow_red_snow_pulse" ] = loadfx( "misc/light_glow_red_snow_pulse" );
|
||||
|
||||
level._effect[ "heater" ] = loadfx( "distortion/heater" );
|
||||
level._effect[ "snow_vortex" ] = loadfx( "snow/snow_vortex" );
|
||||
level._effect[ "snow_vortex_runner" ] = loadfx( "snow/snow_vortex_runner" );
|
||||
|
||||
//Hangar Destraction
|
||||
level._effect[ "fuel_tank_explosion" ] = loadfx( "explosions/vehicle_explosion_mig29" );
|
||||
level._effect[ "fuel_truck_explosion" ] = loadfx( "explosions/vehicle_explosion_mig29" );
|
||||
|
||||
level._effect[ "thin_black_smoke_M" ] = loadfx( "smoke/thin_black_smoke_M" );
|
||||
level._effect[ "thin_black_smoke_L" ] = loadfx( "smoke/thin_black_smoke_L" );
|
||||
level._effect[ "tire_fire_med" ] = loadfx( "fire/tire_fire_med" );
|
||||
|
||||
//Hangar Welder
|
||||
level._effect[ "welding_runner" ] = loadfx( "misc/welding_runner" );
|
||||
|
||||
//Snowmobile Section
|
||||
level._effect[ "large_snow_explode" ] = loadfx( "explosions/large_snow_explode" );
|
||||
level._effect[ "tree_trunk_explosion" ] = loadfx( "explosions/tree_trunk_explosion" );
|
||||
|
||||
//Avalanche
|
||||
level._effect[ "avalanche_explosion" ] = loadfx( "explosions/avalanche_explosion" );
|
||||
level._effect[ "avalanche_start" ] = loadfx( "snow/avalanche_start" );
|
||||
level._effect[ "avalanche_start2" ] = loadfx( "snow/avalanche_start2" );
|
||||
level._effect[ "avalanche_loop_large" ] = loadfx( "snow/avalanche_loop_large" );
|
||||
|
||||
}
|
||||
37
maps/mp/co_hunted.gsc
Executable file
37
maps/mp/co_hunted.gsc
Executable file
@@ -0,0 +1,37 @@
|
||||
/******************************************************/
|
||||
/* Map by momo5502, xetal & Dasfonia */
|
||||
/******************************************************/
|
||||
|
||||
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
SetDvarIfUninitialized( "hunted_weather", 2 ); // 0 = Fog | 1 = Rain | 2 = Dynamic weather
|
||||
|
||||
level.hunted_weather = GetDvarInt( "hunted_weather" );
|
||||
|
||||
if( level.hunted_weather < 0 || level.hunted_weather > 2 )
|
||||
level.hunted_weather = ( randomint( 65534 ) % 3 );
|
||||
|
||||
maps\mp\_load::main();
|
||||
maps\createart\co_hunted_art::main();
|
||||
maps\mp\co_hunted_fx::main();
|
||||
maps\mp\hunted_precache::main();
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_hunted" );
|
||||
setdvar( "compassmaxrange", "3000" );
|
||||
|
||||
if( level.hunted_weather == 0 )
|
||||
ambientPlay( "ambient_mp_rural", 0 );
|
||||
|
||||
else if( level.hunted_weather == 1 )
|
||||
ambientPlay( "ambient_mp_rain", 0 );
|
||||
|
||||
level notify("village_start_weather");
|
||||
}
|
||||
92
maps/mp/co_hunted_fx.gsc
Executable file
92
maps/mp/co_hunted_fx.gsc
Executable file
@@ -0,0 +1,92 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
//level._effect["firelp_vhc_lrg_pm_farview"] = loadfx ("fire/firelp_vhc_lrg_pm_farview");
|
||||
//level._effect["lighthaze"] = loadfx ("misc/lighthaze");
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
level._effect[ "firelp_small_pm_a" ] = loadfx( "fire/firelp_small_pm_a" );
|
||||
level._effect[ "fog_hunted" ] = loadfx( "weather/fog_hunted" );
|
||||
level._effect[ "fog_hunted_a" ] = loadfx( "weather/fog_hunted_a" );
|
||||
level._effect[ "bird_pm" ] = loadfx( "misc/bird_pm" );
|
||||
level._effect[ "bird_takeoff_pm" ] = loadfx( "misc/bird_takeoff_pm" );
|
||||
level._effect[ "leaves" ] = loadfx( "misc/leaves" );
|
||||
level._effect[ "leaves_runner" ] = loadfx( "misc/leaves_runner" );
|
||||
level._effect[ "leaves_runner_1" ] = loadfx( "misc/leaves_runner_1" );
|
||||
level._effect[ "leaves_lp" ] = loadfx( "misc/leaves_lp" );
|
||||
level._effect[ "leaves_gl" ] = loadfx( "misc/leaves_gl" );
|
||||
level._effect[ "leaves_gl_a" ] = loadfx( "misc/leaves_gl_a" );
|
||||
level._effect[ "leaves_gl_b" ] = loadfx( "misc/leaves_gl_b" );
|
||||
level._effect[ "hunted_vl" ] = loadfx( "misc/hunted_vl" );
|
||||
level._effect[ "hunted_vl_sm" ] = loadfx( "misc/hunted_vl_sm" );
|
||||
level._effect[ "hunted_vl_od_lrg" ] = loadfx( "misc/hunted_vl_od_lrg" );
|
||||
level._effect[ "hunted_vl_od_lrg_a" ] = loadfx( "misc/hunted_vl_od_lrg_a" );
|
||||
level._effect[ "hunted_vl_od_sml" ] = loadfx( "misc/hunted_vl_od_sml" );
|
||||
level._effect[ "hunted_vl_od_sml_a" ] = loadfx( "misc/hunted_vl_od_sml_a" );
|
||||
level._effect[ "hunted_vl_od_dtl_a" ] = loadfx( "misc/hunted_vl_od_dtl_a" );
|
||||
level._effect[ "hunted_vl_od_dtl_b" ] = loadfx( "misc/hunted_vl_od_dtl_b" );
|
||||
level._effect[ "mist_hunted_add" ] = loadfx( "weather/mist_hunted_add" );
|
||||
level._effect[ "insects_light_hunted" ] = loadfx( "misc/insects_light_hunted" );
|
||||
level._effect[ "insects_light_hunted_a" ] = loadfx( "misc/insects_light_hunted_a" );
|
||||
level._effect[ "hunted_vl_white_eql" ] = loadfx( "misc/hunted_vl_white_eql" );
|
||||
// level._effect["hunted_vl_white_eql_flare"] = loadfx ("misc/hunted_vl_white_eql_flare");
|
||||
level._effect[ "hunted_vl_white_eql_a" ] = loadfx( "misc/hunted_vl_white_eql_a" );
|
||||
// level._effect["grenadeexp_fuel"] = loadfx ("explosions/grenadeexp_fuel");
|
||||
// level._effect["hunted_fel"] = loadfx ("misc/hunted_fel");
|
||||
level._effect[ "greenhouse_fog_spot_lit" ] = loadfx( "smoke/greenhouse_fog_spot_lit" );
|
||||
level._effect[ "waterfall_hunted" ] = loadfx( "misc/waterfall_hunted" );
|
||||
level._effect[ "stream_hunted" ] = loadfx( "misc/stream_hunted" );
|
||||
|
||||
//footstep fx
|
||||
|
||||
setFootstepEffect( "asphalt", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "brick", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "carpet", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "cloth", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "concrete", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "dirt", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "foliage", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "grass", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "metal", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "mud", loadfx( "impacts/footstep_mud_dark" ) );
|
||||
setFootstepEffect( "rock", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "sand", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
setFootstepEffect( "water", loadfx( "impacts/footstep_water_dark" ) );
|
||||
setFootstepEffect( "wood", loadfx( "impacts/footstep_dust_dark" ) );
|
||||
|
||||
//Rain Fx :D
|
||||
level._effect[ "rain_mp_storm" ] = loadfx( "weather/rain_mp_storm" );
|
||||
level._effect[ "rain_noise_splashes" ] = loadfx( "weather/rain_noise_splashes" );
|
||||
level._effect[ "rain_splash_lite_128x128" ] = loadfx( "weather/rain_splash_lite_128x128" );
|
||||
level._effect[ "drips_fast" ] = loadfx( "misc/drips_fast" );
|
||||
level._effect[ "lightning" ] = loadfx( "weather/lightning_mp_storm" );
|
||||
level._effect[ "waterfall_drainage_mp" ] = loadfx( "water/waterfall_drainage_mp" );
|
||||
level._effect[ "waterfall_drainage_splash_mp" ] = loadfx( "water/waterfall_drainage_splash_mp" );
|
||||
|
||||
maps\createfx\co_hunted_fx::main();
|
||||
}
|
||||
|
||||
setFootstepEffect( name, fx )
|
||||
{
|
||||
assertEx( isdefined( name ), "Need to define the footstep surface type." );
|
||||
assertEx( isdefined( fx ), "Need to define the mud footstep effect." );
|
||||
if( !isdefined( anim.optionalStepEffects ) )
|
||||
anim.optionalStepEffects = [];
|
||||
anim.optionalStepEffects[ anim.optionalStepEffects.size ] = name;
|
||||
level._effect[ "step_" + name ] = fx;
|
||||
anim.optionalStepEffectFunction = playFootStepEffect();
|
||||
}
|
||||
|
||||
playFootStepEffect(foot, groundType)
|
||||
{
|
||||
for (i=0;i<anim.optionalStepEffects.size;i++)
|
||||
{
|
||||
if (groundType != anim.optionalStepEffects[i])
|
||||
continue;
|
||||
org = self gettagorigin(foot);
|
||||
playfx(level._effect["step_" + anim.optionalStepEffects[i]], org, org + (0,0,100));
|
||||
return;
|
||||
}
|
||||
}
|
||||
24
maps/mp/contingency.gsc
Executable file
24
maps/mp/contingency.gsc
Executable file
@@ -0,0 +1,24 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\contingency_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_contingency" );
|
||||
|
||||
ambientPlay( "contingency_ext0" );
|
||||
|
||||
setdvar( "sm_sunShadowScale", 0.5 );// optimization
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.24 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
|
||||
}
|
||||
64
maps/mp/contingency_fx.gsc
Executable file
64
maps/mp/contingency_fx.gsc
Executable file
@@ -0,0 +1,64 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "cold_breath" ] = loadfx( "misc/cold_breath" );
|
||||
|
||||
//Vehcile DeathFX Overrides
|
||||
maps\_vehicle::build_deathfx_override( "gauntlet", "vehicle_sa15_gauntlet", "explosions/vehicle_explosion_gauntlet", undefined , "exp_armor_vehicle" );
|
||||
|
||||
// build_deathfx( "explosions/large_vehicle_explosion", undefined, "exp_armor_vehicle" );
|
||||
|
||||
//scripted fx
|
||||
level._effect[ "smoke_geotrail_icbm" ] = loadfx( "smoke/smoke_geotrail_icbm" );
|
||||
level._effect[ "icbm_launch" ] = loadfx( "smoke/icbm_launch" );
|
||||
|
||||
|
||||
level._effect[ "tree_explosion" ] = loadfx( "explosions/tree_trunk_explosion" );
|
||||
level._effect[ "tree_explosion_small" ] = loadfx( "explosions/tree_trunk_explosion" );
|
||||
|
||||
level._effect[ "thermal_missle_flash_inverted" ] = loadfx( "muzzleflashes/thermal_missle_flash_inverted" );
|
||||
level._effect[ "missle_flash" ] = loadfx( "muzzleflashes/missile_flash_wv" );
|
||||
level._effect[ "uav_explosion" ] = loadfx( "explosions/aerial_explosion_predator" );
|
||||
|
||||
level._effect[ "btr_explosion" ] = loadfx( "explosions/vehicle_explosion_btr80_snow" );
|
||||
level._effect[ "btr_spotlight" ] = loadfx( "misc/spotlight_btr80" );
|
||||
|
||||
level._effect[ "flashlight" ] = loadfx( "misc/flashlight" );
|
||||
|
||||
level._effect[ "tear_gas_submarine" ] = loadfx( "smoke/tear_gas_submarine" );
|
||||
|
||||
|
||||
level._effect[ "tree_snow_dump_fast" ] = loadfx( "snow/tree_snow_dump_fast" );
|
||||
level._effect[ "tree_snow_dump_fast_small" ] = loadfx( "snow/tree_snow_dump_fast_small" );
|
||||
|
||||
level._effect[ "tree_snow_fallen_heavy" ] = loadfx( "snow/tree_snow_fallen_heavy" );
|
||||
level._effect[ "tree_snow_fallen" ] = loadfx( "snow/tree_snow_fallen" );
|
||||
level._effect[ "tree_snow_fallen_small" ] = loadfx( "snow/tree_snow_fallen_small" );
|
||||
|
||||
//Price Sliding fx
|
||||
level._effect[ "price_landing" ] = loadfx( "snow/snow_price_landing" );
|
||||
level._effect[ "price_sliding" ] = loadfx( "snow/snow_price_sliding" );
|
||||
|
||||
//Ambient fx
|
||||
level._effect[ "tree_snow_dump_runner" ] = loadfx( "snow/tree_snow_dump_runner" );
|
||||
level._effect[ "snow_spray_detail_contingency_runner_0x400" ] = loadfx( "snow/snow_spray_detail_contingency_runner_0x400" );
|
||||
level._effect[ "snow_spray_detail_oriented_runner_0x400" ] = loadfx( "snow/snow_spray_detail_oriented_runner_0x400" );
|
||||
level._effect[ "snow_spray_detail_oriented_runner_400x400" ] = loadfx( "snow/snow_spray_detail_oriented_runner_400x400" );
|
||||
level._effect[ "snow_spray_detail_oriented_runner" ] = loadfx( "snow/snow_spray_detail_oriented_runner" );
|
||||
level._effect[ "snow_spray_detail_oriented_runner_large" ] = loadfx( "snow/snow_spray_detail_oriented_large_runner" );
|
||||
level._effect[ "snow_spray_large_oriented_runner" ] = loadfx( "snow/snow_spray_large_oriented_runner" );
|
||||
level._effect[ "snow_vortex_runner_cheap" ] = loadfx( "snow/snow_vortex_runner_cheap" );
|
||||
level._effect[ "room_smoke_200" ] = LoadFX( "smoke/room_smoke_200" );
|
||||
|
||||
|
||||
//Player Footstep fx
|
||||
level._effect[ "footstep_snow_small" ] = loadfx( "impacts/footstep_snow_small" );
|
||||
level._effect[ "footstep_snow" ] = loadfx( "impacts/footstep_snow" );
|
||||
|
||||
//Player snow
|
||||
level._effect[ "snow_light" ] = loadfx( "snow/snow_light_contingency" );
|
||||
|
||||
maps\createfx\contingency_fx::main();
|
||||
|
||||
}
|
||||
119
maps/mp/dc_whitehouse.gsc
Executable file
119
maps/mp/dc_whitehouse.gsc
Executable file
@@ -0,0 +1,119 @@
|
||||
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
#include maps\dc_whitehouse_code;
|
||||
///#using_animtree( "generic_human" );
|
||||
|
||||
main()
|
||||
{
|
||||
maps\dc_whitehouse_precache::main();
|
||||
///maps\createart\dc_whitehouse_fog::main();
|
||||
maps\createfx\dc_whitehouse_fx::main();
|
||||
maps\dc_whitehouse_fx::main();
|
||||
/////maps\createart\dc_whitehouse_fog::main();
|
||||
///maps\dcburning_fx::main();
|
||||
precachemodel( "sentry_minigun" );
|
||||
PreCacheTurret( "heli_spotlight" );
|
||||
maps\mp\_load::main();
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_dcemp_static" );
|
||||
|
||||
ambientPlay( "dcemp_heavy_rain_tunnel" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
|
||||
///flags();
|
||||
/// flag_set("whitehouse_spotlight");
|
||||
///flag_set("whitehouse_spotlight");
|
||||
///flag_set("whitehouse_entrace_init");
|
||||
/// whitehouse_mg_setup();
|
||||
/// westwing_mg_setup();
|
||||
/// whitehouse_main();
|
||||
|
||||
}
|
||||
|
||||
flags()
|
||||
{
|
||||
flag_init("whitehouse_spotlight");
|
||||
flag_init( "whitehouse_entrance_init" );
|
||||
flag_init("whitehouse_radio_start");
|
||||
}
|
||||
|
||||
whitehouse_main()
|
||||
{
|
||||
/// autosave_by_name( "tunnel_exit" );
|
||||
|
||||
/// array_spawn_function_noteworthy( "whitehouse_drone", ::whitehouse_drone );
|
||||
///array_spawn_function_noteworthy( "drone_war_drone", ::whitehouse_drone_war_drone );
|
||||
|
||||
/// spawner = getent( "marshall", "script_noteworthy" );
|
||||
/// spawner add_spawn_function( ::whitehouse_marshall );
|
||||
/// spawner spawn_ai();
|
||||
|
||||
/// chandelier_setup();
|
||||
/// magic_rpg_setup();
|
||||
/// whitehouse_rappel_setup();
|
||||
// sandbag_group_setup( "sandbag_group" );
|
||||
/// sandbag_group_setup( "westwing_sandbag_group" );
|
||||
///whitehouse_mg_setup();
|
||||
///westwing_mg_setup();
|
||||
level thread whitehouse_spotlight_main();
|
||||
|
||||
///flag_wait( "whitehouse_spotlight" );
|
||||
///thread maps\_weather::rainnone( 20 );
|
||||
//thread maps\_ambient::set_ambience_blend_over_time( 20, "dcemp_dry", "dcemp_light_rain" );
|
||||
|
||||
///level thread whitehouse_drone_slaughter();
|
||||
|
||||
/// whitehouse_entrance();
|
||||
}
|
||||
|
||||
|
||||
whitehouse_spotlight_main()
|
||||
{
|
||||
flag_wait( "whitehouse_spotlight" );
|
||||
|
||||
wh_spotlight = whitehouse_spotlight_create( "whitehouse_spotlight", 400 );
|
||||
|
||||
/*
|
||||
flag_wait( "whitehouse_entrance_init" );
|
||||
|
||||
if ( isdefined( wh_spotlight ) )
|
||||
wh_spotlight.damage_ent notify( "damage", 1000, level.player );
|
||||
/
|
||||
ww_spotlight = whitehouse_spotlight_create( "westwing_spotlight", 600 );
|
||||
|
||||
flag_wait( "whitehouse_radio_start" );
|
||||
wait 30;
|
||||
|
||||
if ( isdefined( ww_spotlight ) )
|
||||
ww_spotlight.damage_ent notify( "damage", 1000, level.player );
|
||||
|
||||
*/
|
||||
///ww_spotlight = whitehouse_spotlight_create( "westwing_spotlight", 600 );
|
||||
|
||||
|
||||
}
|
||||
|
||||
whitehouse_spotlight_dunn()
|
||||
{
|
||||
// todo: add dialogue
|
||||
flag_wait( "whitehouse_entrance_moveup" );
|
||||
wait 8;
|
||||
|
||||
if ( isdefined( self ) )
|
||||
{
|
||||
/// level.dunn SetEntityTarget( self );
|
||||
self waittill( "death" );
|
||||
///level.dunn clearEntityTarget();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
20
maps/mp/dcburning.gsc
Executable file
20
maps/mp/dcburning.gsc
Executable file
@@ -0,0 +1,20 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
// maps\createart\dcburning_fog::main();
|
||||
maps\dcburning_fx::main();
|
||||
maps\mp\_load::main();
|
||||
// maps\createfx\dcburning_audio::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap("compass_map_dcburning");
|
||||
|
||||
ambientPlay( "ambient_dcemp_dry" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
124
maps/mp/dcburning_fx.gsc
Executable file
124
maps/mp/dcburning_fx.gsc
Executable file
@@ -0,0 +1,124 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
//!!!!! This is not actually called anywhere, but it needs to load immediately otherwise I get a precache error (?)
|
||||
level._effect[ "_attack_heli_spotlight_ending" ] = LoadFX( "misc/hunted_spotlight_model_dim" );
|
||||
//!!!!! This is not actually called anywhere, but it needs to load immediately otherwise I get a precache error (?)
|
||||
|
||||
|
||||
level._effect[ "vehicle_explosion_slamraam" ] = LoadFX( "explosions/vehicle_explosion_slamraam" );
|
||||
|
||||
level._effect[ "_attack_heli_spotlight" ] = LoadFX( "misc/spotlight_large_dcburning" );
|
||||
|
||||
//columns
|
||||
level._effect[ "large_column" ] = loadfx( "props/dcburning_pillars" );
|
||||
|
||||
|
||||
level._effect[ "turret_overheat_haze" ] = loadfx( "distortion/abrams_exhaust" );
|
||||
level._effect[ "turret_overheat_smoke" ] = loadfx( "distortion/armored_car_overheat" );
|
||||
|
||||
//Magic Bullet Muzzleflashes
|
||||
level._effect[ "javelin_muzzle" ] = loadfx( "muzzleflashes/javelin_flash_wv" );
|
||||
|
||||
level._effect[ "light_glow_white_bulb" ] = loadfx( "misc/light_glow_white_bulb" );
|
||||
|
||||
level._effect[ "door_kick_dust" ] = loadfx( "dust/door_kick" );
|
||||
|
||||
|
||||
level._effect[ "dlight_laptop" ] = loadfx( "misc/dlight_laptop" );
|
||||
|
||||
/*-----------------------
|
||||
CHEAP VEHICLE EXPLOSIONS
|
||||
-------------------------*/
|
||||
level._effect[ "large_vehicle_explosion" ] = loadfx( "explosions/large_vehicle_explosion" );
|
||||
level._effect[ "cheap_vehicle_explosion" ] = loadfx( "explosions/small_vehicle_explosion_low" );
|
||||
level._effect[ "cheap_mack_truck_explosion" ] = loadfx( "explosions/tanker_explosion_dcburn" );
|
||||
level._effect[ "tanker_fire" ] = loadfx( "fire/firelp_large_pm" );
|
||||
|
||||
/*-----------------------
|
||||
PLAYER BLACKHAWK CRASH
|
||||
-------------------------*/
|
||||
level._effect[ "smoke_trail_black_heli" ] = loadfx( "smoke/smoke_trail_black_heli" );
|
||||
level._effect[ "dlight_blue" ] = loadfx( "misc/dlight_blue" );
|
||||
level._effect[ "dlight_red" ] = loadfx( "misc/aircraft_light_cockpit_red" );
|
||||
level._effect[ "player_death_explosion" ] = loadfx( "explosions/player_death_explosion" );
|
||||
level._effect[ "heat_shimmer_door" ] = loadfx( "distortion/abrams_exhaust" );
|
||||
|
||||
level._effect[ "firelp_large_pm_nolight" ] = loadfx( "fire/firelp_large_pm_nolight" );
|
||||
level._effect[ "firelp_med_pm_nolight" ] = loadfx( "fire/firelp_med_pm_nolight" );
|
||||
level._effect[ "firelp_small_pm_nolight" ] = loadfx( "fire/firelp_small_pm_nolight" );
|
||||
|
||||
/*-----------------------
|
||||
LITTLEBIRD CRASH
|
||||
-------------------------*/
|
||||
level._effect[ "crash_main_01" ] = loadfx( "explosions/javelin_explosion_dcburn" );
|
||||
level._effect[ "crash_end_01" ] = loadfx( "explosions/helicopter_explosion_little_bird_dcburn" );
|
||||
|
||||
level._effect[ "chopper_smoke_trail" ] = loadfx( "fire/fire_smoke_trail_L" );
|
||||
level._effect[ "chopper_explosion" ] = loadfx( "explosions/aerial_explosion" );
|
||||
|
||||
/*-----------------------
|
||||
Sniping
|
||||
-------------------------*/
|
||||
level._effect[ "headshot" ] = loadfx( "impacts/flesh_hit_head_fatal_exit" ); // sprays on wall
|
||||
level._effect[ "headshot2" ] = loadfx( "impacts/flesh_hit_splat_large" ); // chunks
|
||||
level._effect[ "headshot3" ] = loadfx( "impacts/flesh_hit_body_fatal_exit" ); // big spray
|
||||
level._effect[ "headshot4" ] = loadfx( "impacts/sniper_escape_blood" ); // big spray
|
||||
level._effect[ "bodyshot" ] = loadfx( "impacts/flesh_hit" );
|
||||
|
||||
level._effect[ "thermal_body_gib" ] = loadfx( "impacts/thermal_body_gib" ); // splatter
|
||||
|
||||
level._effect[ "flare_ambient" ] = loadfx( "misc/flare_ambient" );
|
||||
|
||||
level._effect[ "heat_shimmer_door" ] = loadfx( "distortion/abrams_exhaust" );
|
||||
level._effect[ "heli_dust_default" ] = loadfx( "treadfx/heli_dust_airlift" );
|
||||
|
||||
|
||||
/*-----------------------
|
||||
FLARES
|
||||
-------------------------*/
|
||||
level._effect[ "flare_runner_intro" ] = loadfx( "misc/flare_start" );
|
||||
level._effect[ "flare_runner" ] = loadfx( "misc/flare" );
|
||||
level._effect[ "flare_runner_fizzout" ] = loadfx( "misc/flare_end" );
|
||||
|
||||
|
||||
/*-----------------------
|
||||
PLANE AIRSTRIKES
|
||||
-------------------------*/
|
||||
level.airstrikefx = loadfx( "explosions/clusterbomb" );
|
||||
//level.airstrikefx = loadfx( "explosions/tanker_explosion" );
|
||||
//level.scr_sound[ "airstrike" ][ "explosion" ] = "mortar_incoming";
|
||||
|
||||
/*-----------------------
|
||||
AMBIENT FX
|
||||
-------------------------*/
|
||||
level._effect["powerline_runner"] = loadfx ("explosions/powerline_runner");
|
||||
|
||||
level._effect[ "antiair_runner" ] = loadfx( "misc/antiair_runner_night" );
|
||||
level._effect[ "hallway_smoke_dark" ] = loadfx( "smoke/hallway_smoke_dark" );
|
||||
level._effect[ "ground_smoke_dcburning1200x1200" ] = loadfx( "smoke/ground_smoke1200x1200_dcburning" );
|
||||
level._effect[ "thin_black_smoke_L" ] = loadfx( "smoke/thin_black_smoke_L" );
|
||||
level._effect[ "thick_white_smoke_giant" ] = loadfx( "smoke/thick_white_smoke_giant_dcburning" );
|
||||
level._effect[ "thick_dark_smoke_giant" ] = loadfx( "smoke/thick_dark_smoke_giant_dcburning" );
|
||||
|
||||
level._effect[ "firelp_small_pm" ] = LoadFX( "fire/firelp_small_pm" );
|
||||
level._effect[ "firelp_small_pm_a" ] = LoadFX( "fire/firelp_small_pm_a" );
|
||||
level._effect[ "firelp_med_pm" ] = LoadFX( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_large_pm" ] = LoadFX( "fire/firelp_large_pm" );
|
||||
level._effect[ "firelp_vhc_lrg_pm_farview" ] = loadfx( "fire/firelp_vhc_lrg_pm_farview" );
|
||||
|
||||
level._effect[ "drips_slow" ] = loadfx( "misc/drips_slow" );
|
||||
level._effect[ "drips_fast" ] = loadfx( "misc/drips_fast" );
|
||||
level._effect[ "powerline_runner_cheap" ] = loadfx( "explosions/powerline_runner_cheap" );
|
||||
level._effect[ "water_pipe_spray" ] = loadfx( "water/water_pipe_spray" );
|
||||
level._effect[ "cgo_ship_puddle_small" ] = loadfx( "distortion/cgo_ship_puddle_small" );
|
||||
level._effect[ "rock_falling_small_runner" ] = loadfx( "misc/rock_falling_small_runner" );
|
||||
|
||||
|
||||
//Exploders
|
||||
level._effect[ "ceiling_dust_default" ] = loadfx( "dust/ceiling_dust_default" );
|
||||
level._effect[ "commerce_window_shatter" ] = loadfx( "props/car_glass_large" );
|
||||
maps\createfx\dcburning_fx::main();
|
||||
|
||||
}
|
||||
22
maps/mp/dcemp.gsc
Executable file
22
maps/mp/dcemp.gsc
Executable file
@@ -0,0 +1,22 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\dcemp_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
// maps\createart\dcemp_fog::main();
|
||||
// maps\createfx\dcemp_fx::main();
|
||||
// level thread maps\dcemp_amb::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_dcemp" );
|
||||
|
||||
ambientPlay( "ambient_dcemp_dry" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
147
maps/mp/dcemp_fx.gsc
Executable file
147
maps/mp/dcemp_fx.gsc
Executable file
@@ -0,0 +1,147 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "vehicle_explosion_btr80" ] = loadfx( "explosions/vehicle_explosion_btr80" );
|
||||
level._effect[ "handflare" ] = loadfx( "misc/dcemp_handflare" );
|
||||
level._effect[ "groundflare" ] = loadfx( "misc/dcemp_groundflare" );
|
||||
level._effect[ "killshot" ] = loadfx( "impacts/flesh_hit_body_fatal_exit" );
|
||||
|
||||
//manually precaching fx because of masking of destrucibles
|
||||
level._effect[ "nouse" ] = loadfx( "props/news_stand_paper_spill" );
|
||||
level._effect[ "nouse" ] = loadfx( "props/news_stand_explosion" );
|
||||
level._effect[ "nouse" ] = loadfx( "props/news_stand_paper_spill_shatter" );
|
||||
level._effect[ "nouse" ] = loadfx( "props/photocopier_sparks" );
|
||||
level._effect[ "nouse" ] = loadfx( "props/photocopier_exp" );
|
||||
level._effect[ "nouse" ] = loadfx( "props/photocopier_fire" );
|
||||
level._effect[ "nouse" ] = loadfx( "props/electricbox4_explode" );
|
||||
level._effect[ "nouse" ] = loadfx( "props/filecabinet_dam" );
|
||||
level._effect[ "nouse" ] = loadfx( "props/filecabinet_des" );
|
||||
level._effect[ "nouse" ] = loadfx( "misc/light_fluorescent_blowout_runner" );
|
||||
level._effect[ "nouse" ] = loadfx( "misc/light_blowout_swinging_runner" );
|
||||
level.breakables_fx[ "tv_explode" ] = LoadFX( "explosions/tv_explosion" );
|
||||
|
||||
//ISS
|
||||
level._effect[ "dcemp_sun" ] = loadfx( "misc/dcemp_sun" );
|
||||
level._effect[ "dcemp_icbm_trail" ] = loadfx( "misc/dcemp_icbm_trail" );
|
||||
level._effect[ "space_nuke" ] = loadfx( "explosions/space_nuke" );
|
||||
level._effect[ "space_nuke_shockwave" ] = loadfx( "explosions/space_nuke_shockwave" );
|
||||
level._effect[ "space_emp" ] = loadfx( "explosions/space_emp" );
|
||||
level._effect[ "space_explosion" ] = loadfx( "explosions/space_explosion" );
|
||||
level._effect[ "space_explosion_small" ] = loadfx( "explosions/space_explosion_small" );
|
||||
level._effect[ "dcemp_water_nuke_glow" ] = loadfx( "misc/dcemp_water_nuke_glow" );
|
||||
|
||||
//DCBURNING FX
|
||||
level._effect[ "dlight_blue" ] = loadfx( "misc/dlight_blue" );
|
||||
level._effect[ "headshot3" ] = loadfx( "impacts/flesh_hit_body_fatal_exit" ); // big spray
|
||||
level._effect[ "ground_smoke_dcburning1200x1200" ] = loadfx( "smoke/ground_smoke1200x1200_dcburning" );
|
||||
|
||||
//MinSpec Spotlight
|
||||
if ( getdvarint( "sm_enable" ) && getdvar( "r_zfeather" ) != "0" )
|
||||
level._effect[ "_attack_heli_spotlight" ] = loadfx( "misc/hunted_spotlight_model_dim" );
|
||||
else
|
||||
level._effect[ "_attack_heli_spotlight" ] = loadfx( "misc/spotlight_large" );
|
||||
|
||||
level._effect[ "planecrash_spotlight" ] = loadfx( "misc/dcemp_planecrash_spotlight_model" );
|
||||
level._effect[ "dcemp_nuke_spotlight_fade" ] = loadfx( "misc/dcemp_nuke_spotlight_fade" );
|
||||
level._effect[ "spotlight_lightning" ] = loadfx( "misc/spotlight_lightning" );
|
||||
level._effect[ "space_helmet_spot_light" ] = loadfx( "misc/space_helmet_spot_light" );
|
||||
|
||||
//EMP
|
||||
level._effect[ "transformer_spark_runner" ] = loadfx( "explosions/transformer_spark_runner" );
|
||||
level._effect[ "dcemp_glass_74x44" ] = loadfx( "props/dcemp_glass_74x44" );
|
||||
level._effect[ "bodyfall_dust_high" ] = loadfx( "impacts/bodyfall_dust_high" );
|
||||
level._effect[ "helicopter_crash" ] = loadfx( "explosions/helicopter_crash" );
|
||||
level._effect[ "helicopter_explosion_secondary_small" ] = loadfx( "explosions/helicopter_explosion_secondary_small" );
|
||||
level._effect[ "powerline_runner_oneshot" ] = loadfx( "explosions/powerline_runner_oneshot" );
|
||||
|
||||
level._effect[ "space_emp_crashsite" ] = loadfx( "explosions/space_emp_crashsite" );
|
||||
level._effect[ "space_nuke_crashsite" ] = loadfx( "explosions/space_nuke_crashsite" );
|
||||
|
||||
//STREET
|
||||
level._effect[ "helicopter_explosion" ] = loadfx( "explosions/helicopter_explosion_dcemp" );
|
||||
level._effect[ "small_vehicle_explosion" ] = loadfx( "explosions/small_vehicle_explosion" );
|
||||
|
||||
|
||||
//CRASH SCENE FX
|
||||
level._effect[ "window_fire_large" ] = loadfx( "fire/window_fire_large" );
|
||||
level._effect[ "firelp_large_pm" ] = loadfx( "fire/firelp_large_pm" );
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
|
||||
level._effect[ "firelp_large_pm_nolight" ] = loadfx( "fire/firelp_large_pm_nolight" );
|
||||
level._effect[ "firelp_med_pm_nolight" ] = loadfx( "fire/firelp_med_pm_nolight" );
|
||||
level._effect[ "firelp_small_pm_nolight" ] = loadfx( "fire/firelp_small_pm_nolight" );
|
||||
|
||||
level._effect[ "firelp_small_streak_pm1_h" ] = loadfx( "fire/firelp_small_streak_pm1_h" );
|
||||
level._effect[ "firelp_small_streak_pm_v" ] = loadfx( "fire/firelp_small_streak_pm_v" );
|
||||
level._effect[ "firelp_small_streak_pm1_h_nolight" ] = loadfx( "fire/firelp_small_streak_pm1_h_nolight" );
|
||||
level._effect[ "firelp_small_streak_pm_v_nolight" ] = loadfx( "fire/firelp_small_streak_pm_v_nolight" );
|
||||
level._effect[ "fire_trail_60" ] = loadfx( "fire/fire_trail_60" );
|
||||
|
||||
level._effect[ "fire_streak_runner" ] = loadfx( "fire/fire_streak_runner" );
|
||||
|
||||
level._effect[ "fire_falling_runner_point" ] = loadfx( "fire/fire_falling_runner_point_infrequent" );
|
||||
level._effect[ "fire_tree_embers" ] = loadfx( "fire/fire_tree_embers" );
|
||||
|
||||
|
||||
//CRASH MOMENT FX
|
||||
// level._effect[ "suitcase_explosion" ] = loadfx( "explosions/suitcase_explosion" );
|
||||
level._effect[ "jet_crash" ] = loadfx( "explosions/jet_crash_dcemp" );
|
||||
|
||||
|
||||
//MEETUP
|
||||
level._effect[ "bird_pm" ] = loadfx( "misc/bird_pm" );
|
||||
level._effect[ "leaves_a" ] = loadfx( "misc/leaves_a" );
|
||||
level._effect[ "fire_embers_directional" ] = loadfx( "fire/fire_embers_directional" );
|
||||
|
||||
|
||||
//OFFICE
|
||||
level._effect[ "waterfall_drainage_short" ] = loadfx( "water/waterfall_drainage_short_physics_dcemp" );
|
||||
level._effect[ "waterfall_drainage_splash" ] = loadfx( "water/waterfall_drainage_splash_dcemp" );
|
||||
level._effect[ "falling_water_trickle" ] = loadfx( "water/falling_water_trickle" );
|
||||
level._effect[ "rain_noise_splashes" ] = loadfx( "weather/rain_noise_splashes" );
|
||||
level._effect[ "rain_noise_splashes_dark" ] = loadfx( "weather/rain_noise_splashes_dark" );
|
||||
level._effect[ "rain_splash_lite" ] = loadfx( "weather/rain_splash_lite" );
|
||||
level._effect[ "rain_splash_lite_runner_40x200" ] = loadfx( "weather/rain_splash_lite_runner_40x200" );
|
||||
level._effect[ "rain_splash_lite_runner_40x600" ] = loadfx( "weather/rain_splash_lite_runner_40x600" );
|
||||
level._effect[ "rain_noise_ud" ] = loadfx( "weather/rain_noise_ud" );
|
||||
level._effect[ "rain_noise_ud_runner_0x400" ] = loadfx( "weather/rain_noise_ud_runner_0x400" );
|
||||
level._effect[ "cgo_ship_puddle_small" ] = loadfx( "distortion/cgo_ship_puddle_small" );
|
||||
level._effect[ "cgo_ship_puddle_large" ] = loadfx( "distortion/cgo_ship_puddle_large" );
|
||||
|
||||
level._effect[ "rain_splash_lite_4x64" ] = loadfx( "weather/rain_splash_lite_4x64" );
|
||||
level._effect[ "rain_splash_lite_4x128" ] = loadfx( "weather/rain_splash_lite_4x128" );
|
||||
level._effect[ "rain_splash_lite_8x64" ] = loadfx( "weather/rain_splash_lite_8x64" );
|
||||
level._effect[ "rain_splash_lite_8x128" ] = loadfx( "weather/rain_splash_lite_8x128" );
|
||||
level._effect[ "rain_splash_lite_64x64" ] = loadfx( "weather/rain_splash_lite_64x64" );
|
||||
level._effect[ "rain_splash_lite_128x128" ] = loadfx( "weather/rain_splash_lite_128x128" );
|
||||
|
||||
//WHITEHOUSE
|
||||
level._effect[ "fire_tree_slow_longrange" ] = loadfx( "fire/fire_tree_slow_longrange" );
|
||||
level._effect[ "green_flare" ] = loadfx( "misc/flare_ambient_green" );
|
||||
level._effect[ "player_flare" ] = loadfx( "impacts/small_metalhit" );
|
||||
level._effect[ "carpetbomb" ] = loadfx( "explosions/helicopter_explosion" );
|
||||
|
||||
//CHANDELIER
|
||||
level._effect[ "wire_spark" ] = loadfx( "explosions/transformer_spark_runner" );
|
||||
|
||||
|
||||
//LIGHTING
|
||||
level._effect[ "lightning" ] = loadfx( "weather/lightning" );
|
||||
level._effect[ "lightning_bolt" ] = loadfx( "weather/lightning_bolt" );
|
||||
level._effect[ "lightning_bolt_lrg" ] = loadfx( "weather/lightning_bolt_lrg" );
|
||||
|
||||
// Rain
|
||||
level._effect[ "rain_10" ] = loadfx( "weather/rain_heavy_mist" );
|
||||
level._effect[ "rain_9" ] = loadfx( "weather/rain_9_lite" );
|
||||
level._effect[ "rain_8" ] = loadfx( "weather/rain_8_lite" );
|
||||
level._effect[ "rain_7" ] = loadfx( "weather/rain_7_lite" );
|
||||
level._effect[ "rain_6" ] = loadfx( "weather/rain_6_lite" );
|
||||
level._effect[ "rain_5" ] = loadfx( "weather/rain_5_lite" );
|
||||
level._effect[ "rain_4" ] = loadfx( "weather/rain_4_lite" );
|
||||
level._effect[ "rain_3" ] = loadfx( "weather/rain_3_lite" );
|
||||
level._effect[ "rain_2" ] = loadfx( "weather/rain_2_lite" );
|
||||
level._effect[ "rain_1" ] = loadfx( "weather/rain_1_lite" );
|
||||
level._effect[ "rain_0" ] = loadfx( "misc/blank" );
|
||||
}
|
||||
15
maps/mp/ending.gsc
Executable file
15
maps/mp/ending.gsc
Executable file
@@ -0,0 +1,15 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_overlay_map_blank" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
18
maps/mp/estate.gsc
Executable file
18
maps/mp/estate.gsc
Executable file
@@ -0,0 +1,18 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\estate_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_estate" );
|
||||
|
||||
ambientPlay( "ambient_estate_ext0" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
72
maps/mp/estate_fx.gsc
Executable file
72
maps/mp/estate_fx.gsc
Executable file
@@ -0,0 +1,72 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
maps\createfx\estate_fx::main();
|
||||
|
||||
level._effect[ "bouncing_betty_launch" ] = loadfx( "impacts/bouncing_betty_launch_dirt" );
|
||||
level._effect[ "bouncing_betty_explosion" ] = loadfx( "explosions/bouncing_betty_explosion" );
|
||||
level._effect[ "bouncing_betty_swirl" ] = loadfx( "dust/bouncing_betty_swirl" );
|
||||
|
||||
level._effect[ "smoke_cloud" ] = loadfx( "smoke/smoke_grenade" );
|
||||
|
||||
level._effect[ "mortar" ][ "dirt" ] = loadfx( "explosions/artilleryExp_dirt_brown_2" );
|
||||
|
||||
level._effect[ "breach_estate_door" ] = LoadFX( "explosions/breach_door2" );
|
||||
|
||||
level._effect[ "fenceblast" ] = loadfx( "explosions/artilleryExp_dirt_brown" );
|
||||
|
||||
level._effect[ "suicide_bomber" ] = loadfx( "explosions/propane_large_exp" );
|
||||
|
||||
level._effect[ "redsmoke" ] = loadfx( "smoke/signal_smoke_red_estate" );
|
||||
|
||||
level._effect[ "bodydump_dust_large" ] = loadfx( "impacts/bodydump_dust_large_runner" );
|
||||
level._effect[ "flesh_hit_body_fatal_exit" ] = loadfx( "impacts/flesh_hit_body_fatal_exit" );
|
||||
|
||||
level._effect[ "gas_can_splash" ] = loadfx( "props/gas_can_splash" );
|
||||
level._effect[ "gas_can_drips" ] = loadfx( "props/gas_can_drips" );
|
||||
level._effect[ "gasoline_fire_on_player" ] = loadfx( "fire/firelp_med_pm_estate" );
|
||||
level._effect[ "gasoline_fire_on_player_ignite" ] = loadfx( "fire/firelp_med_pm_estate_ignite" );
|
||||
|
||||
level._effect[ "cigar_glow" ] = loadFX( "fire/cigar_glow" );
|
||||
level._effect[ "cigar_glow_puff" ] = loadFX( "fire/cigar_glow_puff" );
|
||||
level._effect[ "cigar_smoke_puff" ] = loadFX( "smoke/cigarsmoke_puff" );
|
||||
level._effect[ "cigar_exhale_estate" ] = loadFX( "smoke/cigarsmoke_exhale_estate" );
|
||||
|
||||
level._effect[ "anaconda_muzzle_flash" ] = loadFX( "muzzleflashes/pistolflash" );
|
||||
|
||||
|
||||
//ambient fx
|
||||
level._effect[ "moth_runner" ] = loadfx( "misc/moth_runner" );
|
||||
level._effect[ "insect_trail_runner_icbm" ] = loadfx( "misc/insect_trail_runner_icbm" );
|
||||
level._effect[ "leaves_ground_gentlewind_dust" ] = loadfx( "misc/leaves_ground_gentlewind_dust" );
|
||||
level._effect[ "leaves_fall_gentlewind" ] = loadfx( "misc/leaves_fall_gentlewind" );
|
||||
level._effect[ "leaves_spiral_runner" ] = loadfx( "misc/leaves_spiral_runner" );
|
||||
level._effect[ "leaves_spiral_estate_ending" ] = loadfx( "misc/leaves_spiral_estate_ending" );
|
||||
level._effect[ "ground_fog1200x1200_estate" ] = loadfx( "smoke/ground_fog1200x1200_estate" );
|
||||
level._effect[ "ground_fog1200x1200_estate_2" ] = loadfx( "smoke/ground_fog1200x1200_estate_2" );
|
||||
level._effect[ "fog_ground_200" ] = loadfx( "smoke/fog_ground_200" );
|
||||
level._effect[ "fog_ground_400" ] = loadfx( "smoke/fog_ground_400" );
|
||||
|
||||
level._effect[ "insects_carcass_runner" ] = loadfx( "misc/insects_carcass_runner" );
|
||||
level._effect[ "waterfall_drainage_splash" ] = loadfx( "water/waterfall_drainage_splash_estate" );
|
||||
level._effect[ "waterfall_splash_large" ] = loadfx( "water/waterfall_splash_large_estate" );
|
||||
level._effect[ "waterfall_splash_large_drops" ] = loadfx( "water/waterfall_splash_large_drops_estate" );
|
||||
level._effect[ "falling_water_trickle" ] = loadfx( "water/falling_water_trickle" );
|
||||
|
||||
level._effect[ "hallway_smoke_light" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
level._effect[ "room_smoke_200" ] = loadfx( "smoke/room_smoke_200" );
|
||||
|
||||
level._effect[ "dust_outdoor_large" ] = loadfx( "dust/dust_outdoor_large" );
|
||||
|
||||
level._effect[ "bird_takeoff_pm" ] = loadfx( "misc/bird_takeoff_pm" );
|
||||
level._effect[ "breach_room_residual_estate" ] = loadfx( "explosions/breach_room_residual_estate" );
|
||||
level._effect[ "breach_room_residual_estate_fill" ] = loadfx( "explosions/breach_room_residual_estate_fill" );
|
||||
level._effect[ "heli_dust_estate" ] = loadfx( "treadfx/heli_dust_estate" );
|
||||
level._effect[ "heli_dust_estate_large" ] = loadfx( "treadfx/heli_dust_estate_large" );
|
||||
level._effect[ "thin_black_smoke_M" ] = loadfx( "smoke/thin_black_smoke_M" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
level._effect[ "steam_solar_panels" ] = loadfx( "smoke/steam_solar_panels" );
|
||||
|
||||
}
|
||||
28
maps/mp/favela.gsc
Executable file
28
maps/mp/favela.gsc
Executable file
@@ -0,0 +1,28 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.5 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
|
||||
// maps\createart\favela_fog::main();
|
||||
// maps\createart\favela_art::main();
|
||||
// maps\createfx\favela_audio::main();
|
||||
// maps\favela_precache::main();
|
||||
|
||||
maps\favela_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_favela" );
|
||||
|
||||
ambientPlay( "ambient_favela_ext0" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
23
maps/mp/favela_escape.gsc
Executable file
23
maps/mp/favela_escape.gsc
Executable file
@@ -0,0 +1,23 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
// maps\createart\favela_escape_art::main();
|
||||
// maps\createart\favela_escape_fog::main();
|
||||
// maps\createfx\favela_escape_fx::main();
|
||||
// maps\favela_escape_precache::main();
|
||||
maps\favela_escape_fx::main();
|
||||
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap("compass_map_favela_escape");
|
||||
|
||||
ambientPlay( "ambient_favela_escape_ext0" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
266
maps/mp/favela_escape_fx.gsc
Executable file
266
maps/mp/favela_escape_fx.gsc
Executable file
@@ -0,0 +1,266 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
setup_util_fx();
|
||||
|
||||
level._effect[ "technical_gate_shatter" ] = LoadFX( "explosions/wood_explosion_1" );
|
||||
|
||||
level._effect[ "bird_takeoff_pm" ] = LoadFX( "misc/bird_takeoff_pm" );
|
||||
|
||||
level._effect[ "headshot" ] = LoadFX( "impacts/flesh_hit_head_fatal_exit" );
|
||||
level._effect[ "bodyshot" ] = LoadFX( "impacts/flesh_hit" );
|
||||
|
||||
// ambient level fx
|
||||
level._effect[ "insects_carcass_runner" ] = LoadFX( "misc/insects_carcass_runner" );
|
||||
level._effect[ "firelp_med_pm" ] = LoadFX( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm_a" ] = LoadFX( "fire/firelp_small_pm_a" );
|
||||
level._effect[ "dust_wind_fast" ] = LoadFX( "dust/dust_wind_fast" );
|
||||
level._effect[ "dust_wind_fast_light" ] = LoadFX( "dust/dust_wind_fast_light" );
|
||||
level._effect[ "trash_spiral_runner" ] = LoadFX( "misc/trash_spiral_runner" );
|
||||
level._effect[ "trash_spiral_runner_far" ] = LoadFX( "misc/trash_spiral_runner_far" );
|
||||
level._effect[ "leaves_fall_gentlewind" ] = LoadFX( "misc/leaves_fall_gentlewind" );
|
||||
level._effect[ "leaves_ground_gentlewind" ] = LoadFX( "misc/leaves_ground_gentlewind" );
|
||||
level._effect[ "hallway_smoke_light" ] = LoadFX( "smoke/hallway_smoke_light" );
|
||||
level._effect[ "battlefield_smokebank_S" ] = LoadFX( "smoke/battlefield_smokebank_S" );
|
||||
level._effect[ "room_smoke_200" ] = LoadFX( "smoke/room_smoke_200" );
|
||||
level._effect[ "room_smoke_200_fast_far" ] = LoadFX( "smoke/room_smoke_200_fast_far" );
|
||||
level._effect[ "insect_trail_runner_icbm" ] = LoadFX( "misc/insect_trail_runner_icbm" );
|
||||
level._effect[ "moth_runner" ] = LoadFX( "misc/moth_runner" );
|
||||
level._effect[ "insects_light_invasion" ] = LoadFX( "misc/insects_light_invasion" );
|
||||
level._effect[ "chimney_small" ] = LoadFX( "smoke/chimney_small" );
|
||||
level._effect[ "chimney_large" ] = LoadFX( "smoke/chimney_large" );
|
||||
level._effect[ "roof_slide" ] = LoadFX( "misc/roof_slide" );
|
||||
|
||||
// airliner exhaust
|
||||
level._effect[ "airliner_exhaust" ] = LoadFX( "fire/jet_engine_anatov_constant" );
|
||||
level._effect[ "airliner_wingtip_left" ] = LoadFX( "misc/aircraft_light_wingtip_green" );
|
||||
level._effect[ "airliner_wingtip_right" ] = LoadFX( "misc/aircraft_light_wingtip_red" );
|
||||
level._effect[ "airliner_tail" ] = LoadFX( "misc/aircraft_light_white_blink" );
|
||||
level._effect[ "airliner_belly" ] = LoadFX( "misc/aircraft_light_red_blink" );
|
||||
|
||||
// fake chopper shellejects
|
||||
level._effect[ "hind_fake_shelleject" ] = LoadFX( "shellejects/20mm_cargoship" );
|
||||
|
||||
// fake rotor wash dust
|
||||
level._effect[ "hind_fake_rotorwash_dust" ] = LoadFX( "treadfx/heli_dust_icbm" );
|
||||
|
||||
// chopper flares
|
||||
level.flare_fx[ "pavelow" ] = LoadFX( "misc/flares_cobra" );
|
||||
|
||||
// fake explosions for the chopper owning
|
||||
level._effect[ "hind_fake_explosion_1" ] = LoadFX( "explosions/grenadeexp_metal" );
|
||||
level._effect[ "hind_fake_explosion_2" ] = LoadFX( "explosions/circuit_breaker" );
|
||||
level._effect[ "hind_fake_explosion_3" ] = LoadFX( "explosions/pillar_explosion_brick_invasion" );
|
||||
|
||||
// fx for player falling
|
||||
level._effect[ "playerfall_impact" ] = LoadFX( "impacts/bodyfall_dust_large" );
|
||||
level._effect[ "playerfall_residual" ] = LoadFX( "explosions/breach_room_residual" );
|
||||
|
||||
// fake squibs around player
|
||||
level._effect[ "squib_plaster" ] = LoadFX( "impacts/large_plaster" );
|
||||
|
||||
|
||||
level._effect[ "flashlight" ] = LoadFX( "misc/gulag_cafe_spotlight" );
|
||||
|
||||
levelstart_fx_setup();
|
||||
treadfx_override();
|
||||
footstep_effects();
|
||||
}
|
||||
|
||||
setup_util_fx()
|
||||
{
|
||||
// for bloody_death
|
||||
level._effect[ "flesh_hit" ] = LoadFX( "impacts/flesh_hit_body_fatal_exit" );
|
||||
}
|
||||
|
||||
bird_startle_trigs()
|
||||
{
|
||||
trigs = GetEntArray( "trig_bird_startle", "targetname" );
|
||||
array_thread( trigs, ::bird_startle_trig_think );
|
||||
}
|
||||
|
||||
bird_startle_trig_think()
|
||||
{
|
||||
ASSERT( IsDefined( self.script_exploder ), "Bird startle trigger at origin " + self.origin + " doesn't have script_exploder set." );
|
||||
exploderName = self.script_exploder;
|
||||
|
||||
self waittill( "trigger" );
|
||||
level thread exploder( exploderName );
|
||||
|
||||
self Delete();
|
||||
}
|
||||
|
||||
levelstart_fx_setup()
|
||||
{
|
||||
lights = GetEntArray( "flickerlight_fire", "script_noteworthy" );
|
||||
array_thread( lights, ::flickerlight_fire );
|
||||
}
|
||||
|
||||
flickerlight_fire()
|
||||
{
|
||||
wait( RandomFloatRange( .05, .5 ) );
|
||||
|
||||
intensity = self GetLightIntensity();
|
||||
while( 1 )
|
||||
{
|
||||
self SetLightIntensity( intensity * RandomFloatRange( 1.2, 2.2 ) );
|
||||
wait( RandomFloatRange( .05, 1 ) );
|
||||
}
|
||||
}
|
||||
|
||||
footstep_effects()
|
||||
{
|
||||
|
||||
//Regular footstep fx
|
||||
animscripts\utility::setFootstepEffect( "dirt", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setFootstepEffect( "concrete", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setFootstepEffect( "asphalt", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setFootstepEffect( "rock", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setFootstepEffect( "mud", loadfx ( "impacts/footstep_mud" ) );
|
||||
|
||||
//Small footstep fx
|
||||
animscripts\utility::setFootstepEffectSmall( "dirt", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setFootstepEffectSmall( "concrete", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setFootstepEffectSmall( "asphalt", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setFootstepEffectSmall( "rock", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setFootstepEffectSmall( "mud", loadfx ( "impacts/footstep_mud" ) );
|
||||
|
||||
//Other notetrack fx
|
||||
/*
|
||||
setNotetrackEffect( <notetrack>, <tag>, <surface>, <loadfx>, <sound_prefix>, <sound_suffix> )
|
||||
<notetrack>: name of the notetrack to do the fx/sound on
|
||||
<tag>: name of the tag on the AI to use when playing fx
|
||||
<surface>: the fx will only play when the AI is on this surface. Specify "all" to make it work for all surfaces.
|
||||
<loadfx>: load the fx to play here
|
||||
<sound_prefix>: when this notetrack hits a sound can be played. This is the prefix of the sound alias to play ( gets followed by surface type )
|
||||
<sound_suffix>: suffix of sound alias to play, follows the surface type. Example: prefix of "bodyfall_" and suffix of "_large" will play sound alias "bodyfall_dirt_large" when the notetrack happens on dirt.
|
||||
*/
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall small", "J_SpineLower", "dirt", loadfx ( "impacts/bodyfall_dust_small_runner" ), "bodyfall_", "_small" );
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall small", "J_SpineLower", "concrete", loadfx ( "impacts/bodyfall_default_small_runner" ), "bodyfall_", "_small" );
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall small", "J_SpineLower", "asphalt", loadfx ( "impacts/bodyfall_default_small_runner" ), "bodyfall_", "_small" );
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall small", "J_SpineLower", "rock", loadfx ( "impacts/bodyfall_default_small_runner" ), "bodyfall_", "_small" );
|
||||
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall large", "J_SpineLower", "dirt", loadfx ( "impacts/bodyfall_dust_large_runner" ), "bodyfall_", "_large" );
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall large", "J_SpineLower", "concrete", loadfx ( "impacts/bodyfall_default_large_runner" ), "bodyfall_", "_large" );
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall large", "J_SpineLower", "asphalt", loadfx ( "impacts/bodyfall_default_large_runner" ), "bodyfall_", "_large" );
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall large", "J_SpineLower", "rock", loadfx ( "impacts/bodyfall_default_large_runner" ), "bodyfall_", "_large" );
|
||||
animscripts\utility::setNotetrackEffect( "bodyfall large", "J_SpineLower", "mud", loadfx ( "impacts/bodyfall_mud_large_runner" ), "bodyfall_", "_large" );
|
||||
|
||||
animscripts\utility::setNotetrackEffect( "knee fx left", "J_Knee_LE", "dirt", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setNotetrackEffect( "knee fx left", "J_Knee_LE", "concrete", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setNotetrackEffect( "knee fx left", "J_Knee_LE", "asphalt", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setNotetrackEffect( "knee fx left", "J_Knee_LE", "rock", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setNotetrackEffect( "knee fx left", "J_Knee_LE", "mud", loadfx ( "impacts/footstep_mud" ) );
|
||||
|
||||
animscripts\utility::setNotetrackEffect( "knee fx right", "J_Knee_RI", "dirt", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setNotetrackEffect( "knee fx right", "J_Knee_RI", "concrete", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setNotetrackEffect( "knee fx right", "J_Knee_RI", "asphalt", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setNotetrackEffect( "knee fx right", "J_Knee_RI", "rock", loadfx ( "impacts/footstep_dust" ) );
|
||||
animscripts\utility::setNotetrackEffect( "knee fx right", "J_Knee_RI", "mud", loadfx ( "impacts/footstep_mud" ) );
|
||||
|
||||
}
|
||||
|
||||
treadfx_override()
|
||||
{
|
||||
driving_tread_fx = "treadfx/tread_dust_boneyard";
|
||||
|
||||
maps\_treadfx::setvehiclefx( "technical", "brick", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "bark", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "carpet", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "cloth", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "concrete", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "dirt", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "flesh", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "foliage", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "glass", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "grass", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "gravel", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "ice", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "metal", undefined );
|
||||
//maps\_treadfx::setvehiclefx( "technical", "mud", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "paper", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "plaster", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "rock", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "sand", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "snow", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "slush", driving_tread_fx );
|
||||
//maps\_treadfx::setvehiclefx( "technical", "water", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "wood", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "asphalt", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "ceramic", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "plastic", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "rubber", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "cushion", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "fruit", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "painted metal", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical", "default", driving_tread_fx );
|
||||
//maps\_treadfx::setvehiclefx( "technical", "none", driving_tread_fx );
|
||||
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "brick", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "bark", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "carpet", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "cloth", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "concrete", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "dirt", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "flesh", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "foliage", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "glass", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "grass", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "gravel", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "ice", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "metal", undefined );
|
||||
//maps\_treadfx::setvehiclefx( "technical_physics", "mud", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "paper", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "plaster", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "rock", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "sand", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "snow", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "slush", driving_tread_fx );
|
||||
//maps\_treadfx::setvehiclefx( "technical_physics", "water", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "wood", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "asphalt", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "ceramic", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "plastic", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "rubber", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "cushion", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "fruit", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "painted metal", driving_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "technical_physics", "default", driving_tread_fx );
|
||||
//maps\_treadfx::setvehiclefx( "technical_physics", "none", driving_tread_fx );
|
||||
|
||||
|
||||
flying_tread_fx = "treadfx/heli_dust_large";
|
||||
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "brick", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "bark", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "carpet", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "cloth", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "concrete", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "dirt", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "flesh", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "foliage", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "glass", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "grass", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "gravel", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "ice", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "metal", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "mud", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "paper", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "plaster", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "rock", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "sand", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "snow", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "water", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "wood", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "asphalt", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "ceramic", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "plastic", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "rubber", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "cushion", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "fruit", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "painted metal", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "default", flying_tread_fx );
|
||||
maps\_treadfx::setvehiclefx( "pavelow", "none", flying_tread_fx );
|
||||
}
|
||||
43
maps/mp/favela_fx.gsc
Executable file
43
maps/mp/favela_fx.gsc
Executable file
@@ -0,0 +1,43 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
//scripted FX
|
||||
level._effect[ "jumper_cables" ] = loadfx( "misc/jumper_cable_sparks" );
|
||||
level._effect[ "blood" ] = loadfx( "impacts/sniper_escape_blood" );
|
||||
level._effect[ "blood_dashboard_splatter" ] = loadfx( "impacts/blood_dashboard_splatter" );
|
||||
level._effect[ "glass_exit" ] = loadfx( "impacts/glass_exit_car" );
|
||||
level._effect[ "car_glass_interior" ] = loadfx( "props/car_glass_interior_favela" );
|
||||
level._effect[ "plant_large_thrower" ] = loadfx( "props/plant_large_thrower" );
|
||||
level._effect[ "plant_medium_thrower" ] = loadfx( "props/plant_medium_thrower" );
|
||||
level._effect[ "plant_small_thrower" ] = loadfx( "props/plant_small_thrower" );
|
||||
level._effect[ "falling_dust" ] = loadfx( "dust/ceiling_dust_default" );
|
||||
level._effect[ "cash_trail" ] = loadfx( "props/cash_trail" );
|
||||
level._effect[ "cash_drop" ] = loadfx( "props/cash_drop" );
|
||||
|
||||
//Ending
|
||||
level._effect[ "glass_dust_trail" ] = loadfx( "dust/glass_dust_trail_emitter" );
|
||||
level._effect[ "car_crush_glass_med" ] = loadfx( "props/car_glass_med" );
|
||||
level._effect[ "car_crush_glass_large" ] = loadfx( "props/car_glass_large" );
|
||||
level._effect[ "car_crush_dust" ] = loadfx( "dust/car_crush_dust" );
|
||||
|
||||
//ambient fx
|
||||
level._effect[ "insects_carcass_runner" ] = loadfx( "misc/insects_carcass_runner" );
|
||||
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
level._effect[ "firelp_small_pm_a" ] = loadfx( "fire/firelp_small_pm_a" );
|
||||
level._effect[ "firelp_large_pm" ] = loadfx( "fire/firelp_large_pm" );
|
||||
|
||||
level._effect[ "dust_wind_fast" ] = loadfx( "dust/dust_wind_fast" );
|
||||
level._effect[ "dust_wind_slow" ] = loadfx( "dust/dust_wind_slow_yel_loop" );
|
||||
level._effect[ "trash_spiral_runner" ] = loadfx( "misc/trash_spiral_runner" );
|
||||
level._effect[ "leaves_fall_gentlewind" ] = loadfx( "misc/leaves_fall_gentlewind" );
|
||||
|
||||
level._effect[ "hallway_smoke_light" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
level._effect[ "battlefield_smokebank_S" ] = loadfx( "smoke/battlefield_smokebank_S" );
|
||||
level._effect[ "thin_black_smoke_M" ] = LoadFX( "smoke/thin_black_smoke_M" );
|
||||
level._effect[ "thin_black_smoke_L" ] = LoadFX( "smoke/thin_black_smoke_L_nofog" );
|
||||
|
||||
maps\createfx\favela_fx::main();
|
||||
}
|
||||
410
maps/mp/gametypes/_callbacksetup.gsc
Executable file
410
maps/mp/gametypes/_callbacksetup.gsc
Executable file
@@ -0,0 +1,410 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
// Callback Setup
|
||||
// This script provides the hooks from code into script for the gametype callback functions.
|
||||
|
||||
//=============================================================================
|
||||
// Code Callback functions
|
||||
|
||||
/*================
|
||||
Called by code after the level's main script function has run.
|
||||
================*/
|
||||
CodeCallback_StartGameType()
|
||||
{
|
||||
if( getDvar( "r_reflectionProbeGenerate" ) == "1" )
|
||||
level waittill( "eternity" );
|
||||
|
||||
// If the gametype has not beed started, run the startup
|
||||
if(!isDefined(level.gametypestarted) || !level.gametypestarted)
|
||||
{
|
||||
[[level.callbackStartGameType]]();
|
||||
|
||||
level.gametypestarted = true; // so we know that the gametype has been started up
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
Called when a player begins connecting to the server.
|
||||
Called again for every map change or tournement restart.
|
||||
|
||||
Return undefined if the client should be allowed, otherwise return
|
||||
a string with the reason for denial.
|
||||
|
||||
Otherwise, the client will be sent the current gamestate
|
||||
and will eventually get to ClientBegin.
|
||||
|
||||
firstTime will be qtrue the very first time a client connects
|
||||
to the server machine, but qfalse on map changes and tournement
|
||||
restarts.
|
||||
================*/
|
||||
CodeCallback_PlayerConnect()
|
||||
{
|
||||
if( getDvar( "r_reflectionProbeGenerate" ) == "1" )
|
||||
level waittill( "eternity" );
|
||||
|
||||
self endon("disconnect");
|
||||
[[level.callbackPlayerConnect]]();
|
||||
}
|
||||
|
||||
/*================
|
||||
Called when a player drops from the server.
|
||||
Will not be called between levels.
|
||||
self is the player that is disconnecting.
|
||||
================*/
|
||||
CodeCallback_PlayerDisconnect()
|
||||
{
|
||||
self notify("disconnect");
|
||||
[[level.callbackPlayerDisconnect]]();
|
||||
}
|
||||
|
||||
/*================
|
||||
Called when a player has taken damage.
|
||||
self is the player that took damage.
|
||||
================*/
|
||||
CodeCallback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset)
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
if(sWeapon == "model1887_mp")
|
||||
iDamage += 30;
|
||||
if(sWeapon == "model1887_akimbo_mp")
|
||||
iDamage += 25;
|
||||
if(sWeapon == "cheytac_mp")
|
||||
iDamage += 40;
|
||||
if(sWeapon == "barrett_mp")
|
||||
iDamage += 20;
|
||||
if(sWeapon == "m40a3_mp")
|
||||
iDamage += 20;
|
||||
|
||||
if(sMeansOfDeath == "MOD_MELEE")
|
||||
{
|
||||
eAttacker.knifeKills++;
|
||||
if(eAttacker.knifeKills >= 5)
|
||||
iDamage = 50;
|
||||
}
|
||||
if(level.state == "ingame" && getDvarInt("show_damage_ui") == 1){
|
||||
if(getDvar("g_gametype") == "gungame_team")
|
||||
{
|
||||
if(self.team == eAttacker.team)
|
||||
{
|
||||
[[level.callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset); // tested?
|
||||
return;
|
||||
}
|
||||
}
|
||||
damagehud = eAttacker createDamageHud();
|
||||
damageHud setValue(iDamage);
|
||||
damageHud moveOverTime(1);
|
||||
damageHud.x -= 300;
|
||||
damageHud.y += (-1 * randomInt(150));
|
||||
damageHud fadeOverTime(1);
|
||||
damageHud.alpha = 0;
|
||||
eAttacker thread destroyDamageHud(damageHud);
|
||||
self thread updateDamageHud();
|
||||
}
|
||||
if(level.state != "ingame")
|
||||
iDamage = 0;
|
||||
|
||||
if(self.actual_health - iDamage > 0 && iDamage > 0)
|
||||
{
|
||||
self.actual_health -= iDamage;
|
||||
self.health = 950; // Keep engine health high to avoid bloody screen
|
||||
if(isPlayer(eAttacker))
|
||||
eAttacker thread maps\mp\gametypes\_damagefeedback::updateDamageFeedback("standard");
|
||||
|
||||
self playRumbleOnEntity("damage_heavy");
|
||||
iDamage = 20; // Enough to trigger indicator on 1000 maxhealth
|
||||
}
|
||||
else if(iDamage > 0)
|
||||
{
|
||||
iDamage = self.health; // Lethal hit
|
||||
}
|
||||
|
||||
[[level.callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset);
|
||||
}
|
||||
|
||||
updateDamageHud()
|
||||
{
|
||||
for(i=0;i<10;i++)
|
||||
{
|
||||
self stopShellshock();
|
||||
if(isDefined(self.speed) && self.speed)
|
||||
self setMoveSpeedScale(1.6);
|
||||
else
|
||||
self setMoveSpeedScale(1);
|
||||
wait .05;
|
||||
}
|
||||
self notify("takeDamage");
|
||||
}
|
||||
createDamageHud()
|
||||
{
|
||||
damageHud = createText(undefined,1.3,"CENTER", "CENTER", 0,-100);
|
||||
damageHud.glowColor = (.7,0,0);
|
||||
damageHud.x = 350;
|
||||
damageHud.y = 0;
|
||||
return damageHud;
|
||||
}
|
||||
destroyDamageHud(damageHud)
|
||||
{
|
||||
wait 1;
|
||||
damageHud destroy();
|
||||
}
|
||||
createText(text,size,align,pos,x,y,font)
|
||||
{
|
||||
if(!isDefined(font))
|
||||
hud = self createFontString("default",size);
|
||||
else
|
||||
hud = self createFontString(font,size);
|
||||
hud setPoint(align,pos,x,y);
|
||||
if(isDefined(text))
|
||||
hud setText(text);
|
||||
hud.glowAlpha = 1;
|
||||
hud.hideWhenInMenu = true;
|
||||
return hud;
|
||||
}
|
||||
|
||||
/*================
|
||||
Called when a player has been killed.
|
||||
self is the player that was killed.
|
||||
================*/
|
||||
CodeCallback_PlayerKilled(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration)
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
if(self == eAttacker || sMeansOfDeath == "MOD_SUICIDE" || sMeansOfDeath == "MOD_FALLING")
|
||||
{
|
||||
if(self.score >= 100)
|
||||
self.score -= 100;
|
||||
else
|
||||
self.score = 0;
|
||||
if(self.current > 0)
|
||||
self.current--;
|
||||
if(getDvar("g_gametype") != "gungame_team")
|
||||
self.gungameKills--;
|
||||
self thread mod\main::warning(3);
|
||||
}
|
||||
else if(sMeansOfDeath != "MOD_MELEE" || sWeapon == "riotshield_mp")
|
||||
{
|
||||
eAttacker playlocalsound("mp_enemy_obj_captured");
|
||||
eAttacker notify("killed_enemy");
|
||||
eAttacker.score += 100;
|
||||
if(getDvar("g_gametype") != "gungame_team")
|
||||
{
|
||||
//iPrintlnBold(getDvar("gunmode"));
|
||||
if(getDvar("gunmode") != "Kill Confirmed")
|
||||
{
|
||||
if(sWeapon == "riotshield_mp" && getDvar("gunmode") == "Fungame")
|
||||
eAttacker.gungameKills += getDvarInt("gun_kills", 1);
|
||||
else
|
||||
eAttacker.gungameKills++;
|
||||
}
|
||||
else
|
||||
thread mod\main::spawnDogTag(self, eAttacker);
|
||||
}
|
||||
else if(eAttacker.team != self)
|
||||
{
|
||||
if(eAttacker.team == "allies")
|
||||
{
|
||||
level.teamKills["allies"]++;
|
||||
if(level.teamKills["allies"] >= getRequiredKills())
|
||||
{
|
||||
level.teamKills["allies"] = 0;
|
||||
level.teamKills["allies_weapon"]++;
|
||||
level notify("upgrade_allies");
|
||||
thread mod\main::upgradeTeamUI("allies");
|
||||
thread mod\main::upgradeEnemyWeaponUI("axis");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
level.teamKills["axis"]++;
|
||||
if(level.teamKills["axis"] >= eAttacker getRequiredKills())
|
||||
{
|
||||
level.teamKills["axis"] = 0;
|
||||
level.teamKills["axis_weapon"]++;
|
||||
level notify("upgrade_axis");
|
||||
thread mod\main::upgradeTeamUI("axis");
|
||||
thread mod\main::upgradeEnemyWeaponUI("allies");
|
||||
}
|
||||
}
|
||||
eAttacker thread mod\main::scorepopup(100);
|
||||
eAttacker.streaking++;
|
||||
}
|
||||
}
|
||||
else{
|
||||
eAttacker.score += 100;
|
||||
}
|
||||
self notify("killed_lethal");
|
||||
[[level.callbackPlayerKilled]](eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration);
|
||||
}
|
||||
getRequiredKills()
|
||||
{
|
||||
allies = 0;
|
||||
axis = 0;
|
||||
foreach(player in level.players)
|
||||
{
|
||||
if(player.team == "allies")
|
||||
allies++;
|
||||
else if(player.team == "axis")
|
||||
axis++;
|
||||
}
|
||||
if(self.team == "allies")
|
||||
return allies;
|
||||
else if(self.team == "axis")
|
||||
return axis;
|
||||
return 9999;
|
||||
}
|
||||
|
||||
getRequiredKillsOld()
|
||||
{
|
||||
if(level.players.size < 4)
|
||||
return 2;
|
||||
if(level.players.size < 6)
|
||||
return 3;
|
||||
if(level.players.size < 10)
|
||||
return 4;
|
||||
if(level.players.size < 15)
|
||||
return 5;
|
||||
return 6;
|
||||
}
|
||||
|
||||
/*================
|
||||
Called when a vehicle has taken damage.
|
||||
self is the vehicle that took damage.
|
||||
================*/
|
||||
CodeCallback_VehicleDamage( inflictor, attacker, damage, dFlags, meansOfDeath, weapon, point, dir, hitLoc, timeOffset, modelIndex, partName )
|
||||
{
|
||||
if ( isDefined( self.damageCallback ) )
|
||||
self [[self.damageCallback]]( inflictor, attacker, damage, dFlags, meansOfDeath, weapon, point, dir, hitLoc, timeOffset, modelIndex, partName );
|
||||
else
|
||||
self Vehicle_FinishDamage( inflictor, attacker, damage, dFlags, meansOfDeath, weapon, point, dir, hitLoc, timeOffset, modelIndex, partName );
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
Called when code is forcibly ending the game.
|
||||
e.g. we suck as host.
|
||||
================*/
|
||||
CodeCallback_CodeEndGame()
|
||||
{
|
||||
self endon("disconnect");
|
||||
[[level.callbackCodeEndGame]]();
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
Called when a player has been killed, but has last stand perk.
|
||||
self is the player that was killed.
|
||||
================*/
|
||||
CodeCallback_PlayerLastStand(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration )
|
||||
{
|
||||
self endon("disconnect");
|
||||
[[level.callbackPlayerLastStand]](eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration );
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
Called when a player reconnects to the server
|
||||
following a host migration.
|
||||
================*/
|
||||
CodeCallback_PlayerMigrated()
|
||||
{
|
||||
self endon("disconnect");
|
||||
[[level.callbackPlayerMigrated]]();
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
Called once when a host migration has occured.
|
||||
================*/
|
||||
CodeCallback_HostMigration()
|
||||
{
|
||||
[[level.callbackHostMigration]]();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=============================================================================
|
||||
|
||||
// Damage flags used in the playerDamage callback
|
||||
SetupDamageFlags()
|
||||
{
|
||||
// code-defined:
|
||||
level.iDFLAGS_RADIUS = 1; // damage was indirect
|
||||
level.iDFLAGS_NO_ARMOR = 2; // armor does not protect from this damage
|
||||
level.iDFLAGS_NO_KNOCKBACK = 4; // do not affect velocity, just view angles
|
||||
level.iDFLAGS_PENETRATION = 8; // damage occurred after one or more penetrations
|
||||
level.iDFLAGS_STUN = 16; // non-lethal
|
||||
level.iDFLAGS_SHIELD_EXPLOSIVE_IMPACT = 32; // missile impacted on the front of the victim's shield
|
||||
level.iDFLAGS_SHIELD_EXPLOSIVE_IMPACT_HUGE = 64; // ...and was from a projectile with "Big Explosion" checked on.
|
||||
level.iDFLAGS_SHIELD_EXPLOSIVE_SPLASH = 128; // explosive splash, somewhat deflected by the victim's shield
|
||||
|
||||
// script-defined:
|
||||
level.iDFLAGS_NO_TEAM_PROTECTION = 256;
|
||||
level.iDFLAGS_NO_PROTECTION = 512;
|
||||
level.iDFLAGS_PASSTHRU = 1024;
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
Setup any misc callbacks stuff like defines and default callbacks
|
||||
================*/
|
||||
SetupCallbacks()
|
||||
{
|
||||
SetDefaultCallbacks();
|
||||
SetupDamageFlags();
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
Called from the gametype script to store off the default callback functions.
|
||||
This allows the callbacks to be overridden by level script, but not lost.
|
||||
================*/
|
||||
SetDefaultCallbacks()
|
||||
{
|
||||
level.callbackStartGameType = maps\mp\gametypes\_gamelogic::Callback_StartGameType;
|
||||
level.callbackPlayerConnect = maps\mp\gametypes\_playerlogic::Callback_PlayerConnect;
|
||||
level.callbackPlayerDisconnect = maps\mp\gametypes\_playerlogic::Callback_PlayerDisconnect;
|
||||
level.callbackPlayerDamage = maps\mp\gametypes\_damage::Callback_PlayerDamage;
|
||||
level.callbackPlayerKilled = maps\mp\gametypes\_damage::Callback_PlayerKilled;
|
||||
level.callbackCodeEndGame = maps\mp\gametypes\_gamelogic::Callback_CodeEndGame;
|
||||
level.callbackPlayerLastStand = maps\mp\gametypes\_damage::Callback_PlayerLastStand;
|
||||
level.callbackPlayerMigrated = maps\mp\gametypes\_playerlogic::Callback_PlayerMigrated;
|
||||
level.callbackHostMigration = maps\mp\gametypes\_hostmigration::Callback_HostMigration;
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
Called when a gametype is not supported.
|
||||
================*/
|
||||
AbortLevel()
|
||||
{
|
||||
println("Aborting level - gametype is not supported");
|
||||
|
||||
level.callbackStartGameType = ::callbackVoid;
|
||||
level.callbackPlayerConnect = ::callbackVoid;
|
||||
level.callbackPlayerDisconnect = ::callbackVoid;
|
||||
level.callbackPlayerDamage = ::callbackVoid;
|
||||
level.callbackPlayerKilled = ::callbackVoid;
|
||||
level.callbackCodeEndGame = ::callbackVoid;
|
||||
level.callbackPlayerLastStand = ::callbackVoid;
|
||||
level.callbackPlayerMigrated = ::callbackVoid;
|
||||
level.callbackHostMigration = ::callbackVoid;
|
||||
|
||||
setdvar("g_gametype", "gungame");
|
||||
|
||||
exitLevel(false);
|
||||
}
|
||||
|
||||
|
||||
/*================
|
||||
================*/
|
||||
callbackVoid()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
2330
maps/mp/gametypes/_gamelogic.gsc
Executable file
2330
maps/mp/gametypes/_gamelogic.gsc
Executable file
File diff suppressed because it is too large
Load Diff
18
maps/mp/gametypes/_gametypes.txt
Executable file
18
maps/mp/gametypes/_gametypes.txt
Executable file
@@ -0,0 +1,18 @@
|
||||
dm
|
||||
dom
|
||||
sd
|
||||
sab
|
||||
war
|
||||
koth
|
||||
oneflag
|
||||
arena
|
||||
dd
|
||||
vip
|
||||
ctf
|
||||
gtnw
|
||||
oitc
|
||||
gg
|
||||
ss
|
||||
m40a3
|
||||
gungame
|
||||
gungame_team
|
||||
1568
maps/mp/gametypes/_playerlogic.gsc
Executable file
1568
maps/mp/gametypes/_playerlogic.gsc
Executable file
File diff suppressed because it is too large
Load Diff
683
maps/mp/gametypes/_rank.gsc
Executable file
683
maps/mp/gametypes/_rank.gsc
Executable file
@@ -0,0 +1,683 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
|
||||
init()
|
||||
{
|
||||
level.scoreInfo = [];
|
||||
level.xpScale = getDvarInt( "scr_xpscale" );
|
||||
|
||||
level.rankTable = [];
|
||||
|
||||
level.dogtag = loadFX( "misc/aircraft_light_wingtip_green" );
|
||||
level.dogtag2 = loadFX( "misc/flare_ambient_green" );
|
||||
level._effect["MoneyFX"] = loadfx("props/cash_player_drop");
|
||||
level.fx_airstrike_contrail = loadfx ("smoke/jet_contrail");
|
||||
level.wallbreakbomb = loadfx ("explosions/wall_explosion_pm_a");
|
||||
level.explosionfx = loadfx ("explosions/helicopter_explosion_secondary_small");
|
||||
|
||||
precacheShader("white");
|
||||
|
||||
precacheShader("cardicon_helmet_brit_ww2");
|
||||
precacheShader("cardicon_boot");
|
||||
precacheShader("cardicon_headshot");
|
||||
precacheShader("cardicon_ghost_mic");
|
||||
precacheShader("cardicon_biohazard");
|
||||
precacheShader("cardicon_juggernaut_2");
|
||||
precacheShader("cardicon_paratrooper");
|
||||
precacheShader("dpad_killstreak_sentry");
|
||||
precacheShader("cardicon_b2");
|
||||
precacheShader("cardicon_fmj");
|
||||
precacheShader("cardicon_xray");
|
||||
precacheShader("cardicon_thebomb");
|
||||
precacheShader("cardicon_chicken");
|
||||
|
||||
|
||||
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
|
||||
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
|
||||
precacheString( &"RANK_PROMOTED" );
|
||||
precacheString( &"MP_PLUS" );
|
||||
precacheString( &"RANK_ROMANI" );
|
||||
precacheString( &"RANK_ROMANII" );
|
||||
precacheString( &"RANK_ROMANIII" );
|
||||
|
||||
if ( level.teamBased )
|
||||
{
|
||||
registerScoreInfo( "kill", 100 );
|
||||
registerScoreInfo( "headshot", 100 );
|
||||
registerScoreInfo( "assist", 20 );
|
||||
registerScoreInfo( "suicide", 0 );
|
||||
registerScoreInfo( "teamkill", 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
registerScoreInfo( "kill", 50 );
|
||||
registerScoreInfo( "headshot", 50 );
|
||||
registerScoreInfo( "assist", 0 );
|
||||
registerScoreInfo( "suicide", 0 );
|
||||
registerScoreInfo( "teamkill", 0 );
|
||||
}
|
||||
|
||||
registerScoreInfo( "win", 1 );
|
||||
registerScoreInfo( "loss", 0.5 );
|
||||
registerScoreInfo( "tie", 0.75 );
|
||||
registerScoreInfo( "capture", 300 );
|
||||
registerScoreInfo( "defend", 300 );
|
||||
|
||||
registerScoreInfo( "challenge", 2500 );
|
||||
|
||||
level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 ));
|
||||
level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));
|
||||
|
||||
pId = 0;
|
||||
rId = 0;
|
||||
for ( pId = 0; pId <= level.maxPrestige; pId++ )
|
||||
{
|
||||
for ( rId = 0; rId <= level.maxRank; rId++ )
|
||||
precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
|
||||
}
|
||||
|
||||
rankId = 0;
|
||||
rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
|
||||
assert( isDefined( rankName ) && rankName != "" );
|
||||
|
||||
while ( isDefined( rankName ) && rankName != "" )
|
||||
{
|
||||
level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
|
||||
level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
|
||||
level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
|
||||
level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );
|
||||
|
||||
precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );
|
||||
|
||||
rankId++;
|
||||
rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
|
||||
}
|
||||
|
||||
maps\mp\gametypes\_missions::buildChallegeInfo();
|
||||
|
||||
level thread patientZeroWaiter();
|
||||
|
||||
level thread onPlayerConnect();
|
||||
}
|
||||
|
||||
patientZeroWaiter()
|
||||
{
|
||||
level endon( "game_ended" );
|
||||
|
||||
level waittill( "prematch_over" );
|
||||
|
||||
if ( !matchMakingGame() )
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999 )
|
||||
level.patientZeroName = level.players[0].name;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( getDvar( "scr_patientZero" ) != "" )
|
||||
level.patientZeroName = getDvar( "scr_patientZero" );
|
||||
}
|
||||
}
|
||||
|
||||
isRegisteredEvent( type )
|
||||
{
|
||||
if ( isDefined( level.scoreInfo[type] ) )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
registerScoreInfo( type, value )
|
||||
{
|
||||
level.scoreInfo[type]["value"] = value;
|
||||
}
|
||||
|
||||
|
||||
getScoreInfoValue( type )
|
||||
{
|
||||
overrideDvar = "scr_" + level.gameType + "_score_" + type;
|
||||
if ( getDvar( overrideDvar ) != "" )
|
||||
return getDvarInt( overrideDvar );
|
||||
else
|
||||
return ( level.scoreInfo[type]["value"] );
|
||||
}
|
||||
|
||||
|
||||
getScoreInfoLabel( type )
|
||||
{
|
||||
return ( level.scoreInfo[type]["label"] );
|
||||
}
|
||||
|
||||
|
||||
getRankInfoMinXP( rankId )
|
||||
{
|
||||
return int(level.rankTable[rankId][2]);
|
||||
}
|
||||
|
||||
|
||||
getRankInfoXPAmt( rankId )
|
||||
{
|
||||
return int(level.rankTable[rankId][3]);
|
||||
}
|
||||
|
||||
|
||||
getRankInfoMaxXp( rankId )
|
||||
{
|
||||
return int(level.rankTable[rankId][7]);
|
||||
}
|
||||
|
||||
|
||||
getRankInfoFull( rankId )
|
||||
{
|
||||
return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
|
||||
}
|
||||
|
||||
|
||||
getRankInfoIcon( rankId, prestigeId )
|
||||
{
|
||||
return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 );
|
||||
}
|
||||
|
||||
getRankInfoLevel( rankId )
|
||||
{
|
||||
return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
|
||||
}
|
||||
|
||||
|
||||
onPlayerConnect()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
level waittill( "connected", player );
|
||||
|
||||
/#
|
||||
if ( getDvarInt( "scr_forceSequence" ) )
|
||||
player setPlayerData( "experience", 145499 );
|
||||
#/
|
||||
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
|
||||
if ( player.pers["rankxp"] < 0 ) // paranoid defensive
|
||||
player.pers["rankxp"] = 0;
|
||||
|
||||
rankId = player getRankForXp( player getRankXP() );
|
||||
player.pers[ "rank" ] = rankId;
|
||||
player.pers[ "participation" ] = 0;
|
||||
|
||||
player.xpUpdateTotal = 0;
|
||||
player.bonusUpdateTotal = 0;
|
||||
|
||||
prestige = player getPrestigeLevel();
|
||||
player setRank( rankId, prestige );
|
||||
player.pers["prestige"] = prestige;
|
||||
|
||||
player.postGamePromotion = false;
|
||||
if ( !isDefined( player.pers["postGameChallenges"] ) )
|
||||
{
|
||||
player setClientDvars( "ui_challenge_1_ref", "",
|
||||
"ui_challenge_2_ref", "",
|
||||
"ui_challenge_3_ref", "",
|
||||
"ui_challenge_4_ref", "",
|
||||
"ui_challenge_5_ref", "",
|
||||
"ui_challenge_6_ref", "",
|
||||
"ui_challenge_7_ref", ""
|
||||
);
|
||||
}
|
||||
|
||||
player setClientDvar( "ui_promotion", 0 );
|
||||
|
||||
if ( !isDefined( player.pers["summary"] ) )
|
||||
{
|
||||
player.pers["summary"] = [];
|
||||
player.pers["summary"]["xp"] = 0;
|
||||
player.pers["summary"]["score"] = 0;
|
||||
player.pers["summary"]["challenge"] = 0;
|
||||
player.pers["summary"]["match"] = 0;
|
||||
player.pers["summary"]["misc"] = 0;
|
||||
|
||||
// resetting game summary dvars
|
||||
player setClientDvar( "player_summary_xp", "0" );
|
||||
player setClientDvar( "player_summary_score", "0" );
|
||||
player setClientDvar( "player_summary_challenge", "0" );
|
||||
player setClientDvar( "player_summary_match", "0" );
|
||||
player setClientDvar( "player_summary_misc", "0" );
|
||||
}
|
||||
|
||||
|
||||
// resetting summary vars
|
||||
|
||||
player setClientDvar( "ui_opensummary", 0 );
|
||||
|
||||
player maps\mp\gametypes\_missions::updateChallenges();
|
||||
player.explosiveKills[0] = 0;
|
||||
player.xpGains = [];
|
||||
|
||||
player.hud_scorePopup = newClientHudElem( player );
|
||||
player.hud_scorePopup.horzAlign = "center";
|
||||
player.hud_scorePopup.vertAlign = "middle";
|
||||
player.hud_scorePopup.alignX = "center";
|
||||
player.hud_scorePopup.alignY = "middle";
|
||||
player.hud_scorePopup.x = 0;
|
||||
if ( level.splitScreen )
|
||||
player.hud_scorePopup.y = -40;
|
||||
else
|
||||
player.hud_scorePopup.y = -60;
|
||||
player.hud_scorePopup.font = "hudbig";
|
||||
player.hud_scorePopup.fontscale = 0.75;
|
||||
player.hud_scorePopup.archived = false;
|
||||
player.hud_scorePopup.color = (0.5,0.5,0.5);
|
||||
player.hud_scorePopup.sort = 10000;
|
||||
player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit( 3.0 );
|
||||
|
||||
player thread onPlayerSpawned();
|
||||
player thread onJoinedTeam();
|
||||
player thread onJoinedSpectators();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
onJoinedTeam()
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
for(;;)
|
||||
{
|
||||
self waittill( "joined_team" );
|
||||
self thread removeRankHUD();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
onJoinedSpectators()
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
for(;;)
|
||||
{
|
||||
self waittill( "joined_spectators" );
|
||||
self thread removeRankHUD();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
onPlayerSpawned()
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
for(;;)
|
||||
{
|
||||
self waittill("spawned_player");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
roundUp( floatVal )
|
||||
{
|
||||
if ( int( floatVal ) != floatVal )
|
||||
return int( floatVal+1 );
|
||||
else
|
||||
return int( floatVal );
|
||||
}
|
||||
|
||||
|
||||
giveRankXP( type, value )
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
lootType = "none";
|
||||
|
||||
if ( !self rankingEnabled() )
|
||||
return;
|
||||
|
||||
if ( level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
|
||||
return;
|
||||
else if ( !level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
|
||||
return;
|
||||
|
||||
if ( !isDefined( value ) )
|
||||
value = getScoreInfoValue( type );
|
||||
|
||||
if ( !isDefined( self.xpGains[type] ) )
|
||||
self.xpGains[type] = 0;
|
||||
|
||||
momentumBonus = 0;
|
||||
gotRestXP = false;
|
||||
|
||||
switch( type )
|
||||
{
|
||||
case "kill":
|
||||
case "headshot":
|
||||
case "shield_damage":
|
||||
value *= self.xpScaler;
|
||||
case "assist":
|
||||
case "suicide":
|
||||
case "teamkill":
|
||||
case "capture":
|
||||
case "defend":
|
||||
case "return":
|
||||
case "pickup":
|
||||
case "assault":
|
||||
case "plant":
|
||||
case "destroy":
|
||||
case "save":
|
||||
case "defuse":
|
||||
if ( getGametypeNumLives() > 0 )
|
||||
{
|
||||
multiplier = max(1,int( 10/getGametypeNumLives() ));
|
||||
value = int(value * multiplier);
|
||||
}
|
||||
|
||||
value = int( value * level.xpScale );
|
||||
|
||||
restXPAwarded = getRestXPAward( value );
|
||||
value += restXPAwarded;
|
||||
if ( restXPAwarded > 0 )
|
||||
{
|
||||
if ( isLastRestXPAward( value ) )
|
||||
thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" );
|
||||
|
||||
gotRestXP = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if ( !gotRestXP )
|
||||
{
|
||||
// if we didn't get rest XP for this type, we push the rest XP goal ahead so we didn't waste it
|
||||
if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
|
||||
self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
|
||||
}
|
||||
|
||||
oldxp = self getRankXP();
|
||||
self.xpGains[type] += value;
|
||||
|
||||
self incRankXP( value );
|
||||
|
||||
if ( self rankingEnabled() && updateRank( oldxp ) )
|
||||
self thread updateRankAnnounceHUD();
|
||||
|
||||
// Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good.
|
||||
self syncXPStat();
|
||||
|
||||
switch( type )
|
||||
{
|
||||
case "kill":
|
||||
case "headshot":
|
||||
case "suicide":
|
||||
case "teamkill":
|
||||
case "assist":
|
||||
case "capture":
|
||||
case "defend":
|
||||
case "return":
|
||||
case "pickup":
|
||||
case "assault":
|
||||
case "plant":
|
||||
case "defuse":
|
||||
self.pers["summary"]["score"] += value;
|
||||
self.pers["summary"]["xp"] += value;
|
||||
break;
|
||||
|
||||
case "win":
|
||||
case "loss":
|
||||
case "tie":
|
||||
self.pers["summary"]["match"] += value;
|
||||
self.pers["summary"]["xp"] += value;
|
||||
break;
|
||||
|
||||
case "challenge":
|
||||
self.pers["summary"]["challenge"] += value;
|
||||
self.pers["summary"]["xp"] += value;
|
||||
break;
|
||||
|
||||
default:
|
||||
self.pers["summary"]["misc"] += value; //keeps track of ungrouped match xp reward
|
||||
self.pers["summary"]["match"] += value;
|
||||
self.pers["summary"]["xp"] += value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
updateRank( oldxp )
|
||||
{
|
||||
newRankId = self getRank();
|
||||
if ( newRankId == self.pers["rank"] )
|
||||
return false;
|
||||
|
||||
oldRank = self.pers["rank"];
|
||||
rankId = self.pers["rank"];
|
||||
self.pers["rank"] = newRankId;
|
||||
|
||||
//self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "timePlayedTotal" ) );
|
||||
println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience went from " + oldxp + " to " + self getRankXP() + "." );
|
||||
|
||||
self setRank( newRankId );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
updateRankAnnounceHUD()
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
self notify("update_rank");
|
||||
self endon("update_rank");
|
||||
|
||||
team = self.pers["team"];
|
||||
if ( !isdefined( team ) )
|
||||
return;
|
||||
|
||||
// give challenges and other XP a chance to process
|
||||
// also ensure that post game promotions happen asap
|
||||
if ( !levelFlag( "game_over" ) )
|
||||
level waittill_notify_or_timeout( "game_over", 0.25 );
|
||||
|
||||
|
||||
newRankName = self getRankInfoFull( self.pers["rank"] );
|
||||
rank_char = level.rankTable[self.pers["rank"]][1];
|
||||
subRank = int(rank_char[rank_char.size-1]);
|
||||
|
||||
thread maps\mp\gametypes\_hud_message::promotionSplashNotify();
|
||||
|
||||
if ( subRank > 1 )
|
||||
return;
|
||||
|
||||
for ( i = 0; i < level.players.size; i++ )
|
||||
{
|
||||
player = level.players[i];
|
||||
playerteam = player.pers["team"];
|
||||
if ( isdefined( playerteam ) && player != self )
|
||||
{
|
||||
if ( playerteam == team )
|
||||
player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
endGameUpdate()
|
||||
{
|
||||
player = self;
|
||||
}
|
||||
|
||||
|
||||
scorePopup( amount, bonus, hudColor, glowAlpha )
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
self endon( "joined_team" );
|
||||
self endon( "joined_spectators" );
|
||||
|
||||
if ( amount == 0 )
|
||||
return;
|
||||
|
||||
self notify( "scorePopup" );
|
||||
self endon( "scorePopup" );
|
||||
|
||||
self.xpUpdateTotal += amount;
|
||||
self.bonusUpdateTotal += bonus;
|
||||
|
||||
wait ( 0.05 );
|
||||
|
||||
if ( self.xpUpdateTotal < 0 )
|
||||
self.hud_scorePopup.label = &"";
|
||||
else
|
||||
self.hud_scorePopup.label = &"MP_PLUS";
|
||||
|
||||
self.hud_scorePopup.color = hudColor;
|
||||
self.hud_scorePopup.glowColor = hudColor;
|
||||
self.hud_scorePopup.glowAlpha = glowAlpha;
|
||||
|
||||
self.hud_scorePopup setValue(self.xpUpdateTotal);
|
||||
self.hud_scorePopup.alpha = 0.85;
|
||||
self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulse( self );
|
||||
|
||||
increment = max( int( self.bonusUpdateTotal / 20 ), 1 );
|
||||
|
||||
if ( self.bonusUpdateTotal )
|
||||
{
|
||||
while ( self.bonusUpdateTotal > 0 )
|
||||
{
|
||||
self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
|
||||
self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );
|
||||
|
||||
self.hud_scorePopup setValue( self.xpUpdateTotal );
|
||||
|
||||
wait ( 0.05 );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
wait ( 1.0 );
|
||||
}
|
||||
|
||||
self.hud_scorePopup fadeOverTime( 0.75 );
|
||||
self.hud_scorePopup.alpha = 0;
|
||||
|
||||
self.xpUpdateTotal = 0;
|
||||
}
|
||||
|
||||
removeRankHUD()
|
||||
{
|
||||
self.hud_scorePopup.alpha = 0;
|
||||
}
|
||||
|
||||
getRank()
|
||||
{
|
||||
rankXp = self.pers["rankxp"];
|
||||
rankId = self.pers["rank"];
|
||||
|
||||
if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
|
||||
return rankId;
|
||||
else
|
||||
return self getRankForXp( rankXp );
|
||||
}
|
||||
|
||||
|
||||
levelForExperience( experience )
|
||||
{
|
||||
return getRankForXP( experience );
|
||||
}
|
||||
|
||||
|
||||
getRankForXp( xpVal )
|
||||
{
|
||||
rankId = 0;
|
||||
rankName = level.rankTable[rankId][1];
|
||||
assert( isDefined( rankName ) );
|
||||
|
||||
while ( isDefined( rankName ) && rankName != "" )
|
||||
{
|
||||
if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) )
|
||||
return rankId;
|
||||
|
||||
rankId++;
|
||||
if ( isDefined( level.rankTable[rankId] ) )
|
||||
rankName = level.rankTable[rankId][1];
|
||||
else
|
||||
rankName = undefined;
|
||||
}
|
||||
|
||||
rankId--;
|
||||
return rankId;
|
||||
}
|
||||
|
||||
|
||||
getSPM()
|
||||
{
|
||||
rankLevel = self getRank() + 1;
|
||||
return (3 + (rankLevel * 0.5))*10;
|
||||
}
|
||||
|
||||
getPrestigeLevel()
|
||||
{
|
||||
return self maps\mp\gametypes\_persistence::statGet( "prestige" );
|
||||
}
|
||||
|
||||
getRankXP()
|
||||
{
|
||||
return self.pers["rankxp"];
|
||||
}
|
||||
|
||||
incRankXP( amount )
|
||||
{
|
||||
if ( !self rankingEnabled() )
|
||||
return;
|
||||
|
||||
if ( isDefined( self.isCheater ) )
|
||||
return;
|
||||
|
||||
xp = self getRankXP();
|
||||
newXp = (xp + amount);
|
||||
|
||||
if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) )
|
||||
newXp = getRankInfoMaxXP( level.maxRank );
|
||||
|
||||
self.pers["rankxp"] = newXp;
|
||||
}
|
||||
|
||||
getRestXPAward( baseXP )
|
||||
{
|
||||
if ( !getdvarint( "scr_restxp_enable" ) )
|
||||
return 0;
|
||||
|
||||
restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
|
||||
|
||||
wantGiveRestXP = int(baseXP * restXPAwardRate);
|
||||
mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
|
||||
|
||||
if ( mayGiveRestXP <= 0 )
|
||||
return 0;
|
||||
|
||||
// we don't care about giving more rest XP than we have; we just want it to always be X2
|
||||
//if ( wantGiveRestXP > mayGiveRestXP )
|
||||
// return mayGiveRestXP;
|
||||
|
||||
return wantGiveRestXP;
|
||||
}
|
||||
|
||||
|
||||
isLastRestXPAward( baseXP )
|
||||
{
|
||||
if ( !getdvarint( "scr_restxp_enable" ) )
|
||||
return false;
|
||||
|
||||
restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
|
||||
|
||||
wantGiveRestXP = int(baseXP * restXPAwardRate);
|
||||
mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
|
||||
|
||||
if ( mayGiveRestXP <= 0 )
|
||||
return false;
|
||||
|
||||
if ( wantGiveRestXP >= mayGiveRestXP )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
syncXPStat()
|
||||
{
|
||||
xp = self getRankXP();
|
||||
|
||||
self maps\mp\gametypes\_persistence::statSet( "experience", xp );
|
||||
}
|
||||
98
maps/mp/gametypes/gungame.gsc
Executable file
98
maps/mp/gametypes/gungame.gsc
Executable file
@@ -0,0 +1,98 @@
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
/*QUAKED mp_dm_spawn (1.0 0.5 0.0) (-16 -16 0) (16 16 72)
|
||||
Players spawn away from enemies at one of these positions.*/
|
||||
|
||||
main()
|
||||
{
|
||||
maps\mp\gametypes\_globallogic::init();
|
||||
maps\mp\gametypes\_callbacksetup::SetupCallbacks();
|
||||
maps\mp\gametypes\_globallogic::SetupCallbacks();
|
||||
|
||||
registerTimeLimitDvar( level.gameType, 10, 0, 1440 );
|
||||
registerScoreLimitDvar( level.gameType, 1000, 0, 5000 );
|
||||
registerWinLimitDvar( level.gameType, 1, 0, 5000 );
|
||||
registerRoundLimitDvar( level.gameType, 1, 0, 10 );
|
||||
registerNumLivesDvar( level.gameType, 0, 0, 10 );
|
||||
registerHalfTimeDvar( level.gameType, 0, 0, 1 );
|
||||
|
||||
level.teamBased = false;
|
||||
level.onStartGameType = ::onStartGameType;
|
||||
level.getSpawnPoint = ::getSpawnPoint;
|
||||
level.onPlayerkilled = ::onPlayerkilled;
|
||||
|
||||
game["dialog"]["gametype"] = "gungame";
|
||||
|
||||
if ( getDvarInt( "g_hardcore" ) )
|
||||
game["dialog"]["gametype"] = "hc_" + game["dialog"]["gametype"];
|
||||
else if ( getDvarInt( "camera_thirdPerson" ) )
|
||||
game["dialog"]["gametype"] = "thirdp_" + game["dialog"]["gametype"];
|
||||
else if ( getDvarInt( "scr_diehard" ) )
|
||||
game["dialog"]["gametype"] = "dh_" + game["dialog"]["gametype"];
|
||||
else if (getDvarInt( "scr_" + level.gameType + "_promode" ) )
|
||||
game["dialog"]["gametype"] = game["dialog"]["gametype"] + "_pro";
|
||||
}
|
||||
|
||||
onStartGameType()
|
||||
{
|
||||
setClientNameMode("auto_change");
|
||||
|
||||
setObjectiveText( "allies", "Press ^3[{+actionslot 2}] ^7for FPS-Boost \n\n Mod made by ^:Santahunter^7!" );
|
||||
setObjectiveText( "axis", "Press ^3[{+actionslot 2}] ^7for FPS-Boost \n\n Mod made by ^:Santahunter^7!" );
|
||||
|
||||
if ( level.splitscreen )
|
||||
{
|
||||
setObjectiveScoreText( "allies", &"OBJECTIVES_DM" );
|
||||
setObjectiveScoreText( "axis", &"OBJECTIVES_DM" );
|
||||
}
|
||||
else
|
||||
{
|
||||
setObjectiveScoreText( "allies", &"OBJECTIVES_DM_SCORE" );
|
||||
setObjectiveScoreText( "axis", &"OBJECTIVES_DM_SCORE" );
|
||||
}
|
||||
|
||||
setObjectiveHintText( "allies", "Be the first who cycled through all guns to win! \n \n Mod made by ^:Santahunter^7!" );
|
||||
setObjectiveHintText( "axis", "Be the first who cycled through all guns to win! \n \n Mod made by ^:Santahunter^7!" );
|
||||
|
||||
level.killcam = false;
|
||||
level.spawnMins = ( 0, 0, 0 );
|
||||
level.spawnMaxs = ( 0, 0, 0 );
|
||||
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_dm_spawn" );
|
||||
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_dm_spawn" );
|
||||
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
|
||||
setMapCenter(level.mapCenter);
|
||||
|
||||
allowed[0] = "dm";
|
||||
allowed[1] = "airdrop_pallet";
|
||||
maps\mp\gametypes\_gameobjects::main(allowed);
|
||||
|
||||
maps\mp\gametypes\_rank::registerScoreInfo( "kill", 00 );
|
||||
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 150 );
|
||||
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 50 );
|
||||
maps\mp\gametypes\_rank::registerScoreInfo( "suicide", 0 );
|
||||
maps\mp\gametypes\_rank::registerScoreInfo( "teamkill", 0 );
|
||||
|
||||
level.QuickMessageToAll = true;
|
||||
//level thread maps\mp\gametypes\core::core();
|
||||
}
|
||||
getSpawnPoint()
|
||||
{
|
||||
spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( self.pers["team"] );
|
||||
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_DM( spawnPoints );
|
||||
return spawnPoint;
|
||||
}
|
||||
onPlayerkilled(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc, psOffsetTime, deathAnimDuration, killId, means)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1
maps/mp/gametypes/gungame.txt
Executable file
1
maps/mp/gametypes/gungame.txt
Executable file
@@ -0,0 +1 @@
|
||||
"Gungame"
|
||||
145
maps/mp/gametypes/gungame_team.gsc
Executable file
145
maps/mp/gametypes/gungame_team.gsc
Executable file
@@ -0,0 +1,145 @@
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
if(getdvar("mapname") == "mp_background")
|
||||
return;
|
||||
|
||||
maps\mp\gametypes\_globallogic::init();
|
||||
maps\mp\gametypes\_callbacksetup::SetupCallbacks();
|
||||
maps\mp\gametypes\_globallogic::SetupCallbacks();
|
||||
|
||||
registerRoundSwitchDvar( level.gameType, 0, 0, 9 );
|
||||
registerTimeLimitDvar( level.gameType, 10, 0, 1440 );
|
||||
registerScoreLimitDvar( level.gameType, 500, 0, 5000 );
|
||||
registerRoundLimitDvar( level.gameType, 1, 0, 10 );
|
||||
registerWinLimitDvar( level.gameType, 1, 0, 10 );
|
||||
registerRoundSwitchDvar( level.gameType, 3, 0, 30 );
|
||||
registerNumLivesDvar( level.gameType, 0, 0, 10 );
|
||||
registerHalfTimeDvar( level.gameType, 0, 0, 1 );
|
||||
|
||||
level.teamBased = true;
|
||||
level.onStartGameType = ::onStartGameType;
|
||||
level.getSpawnPoint = ::getSpawnPoint;
|
||||
level.onNormalDeath = ::onNormalDeath;
|
||||
//level.onTimeLimit = ::onTimeLimit; // overtime not fully supported yet
|
||||
|
||||
game["dialog"]["gametype"] = "tm_death";
|
||||
|
||||
if ( getDvarInt( "g_hardcore" ) )
|
||||
game["dialog"]["gametype"] = "hc_" + game["dialog"]["gametype"];
|
||||
else if ( getDvarInt( "camera_thirdPerson" ) )
|
||||
game["dialog"]["gametype"] = "thirdp_" + game["dialog"]["gametype"];
|
||||
else if ( getDvarInt( "scr_diehard" ) )
|
||||
game["dialog"]["gametype"] = "dh_" + game["dialog"]["gametype"];
|
||||
else if (getDvarInt( "scr_" + level.gameType + "_promode" ) )
|
||||
game["dialog"]["gametype"] = game["dialog"]["gametype"] + "_pro";
|
||||
|
||||
game["strings"]["overtime_hint"] = &"MP_FIRST_BLOOD";
|
||||
}
|
||||
|
||||
|
||||
onStartGameType()
|
||||
{
|
||||
setClientNameMode("auto_change");
|
||||
|
||||
if ( !isdefined( game["switchedsides"] ) )
|
||||
game["switchedsides"] = false;
|
||||
|
||||
if ( game["switchedsides"] )
|
||||
{
|
||||
oldAttackers = game["attackers"];
|
||||
oldDefenders = game["defenders"];
|
||||
game["attackers"] = oldDefenders;
|
||||
game["defenders"] = oldAttackers;
|
||||
}
|
||||
|
||||
setObjectiveText( "allies", "Each several kills of your team, your weapon ranks up! \n \n Mod made by ^:Santahunter^7!" );
|
||||
setObjectiveText( "axis", "Each several kills of your team, your weapon ranks up! \n \n Mod made by ^:Santahunter^7!" );
|
||||
|
||||
if ( level.splitscreen )
|
||||
{
|
||||
setObjectiveScoreText( "allies", &"OBJECTIVES_WAR" );
|
||||
setObjectiveScoreText( "axis", &"OBJECTIVES_WAR" );
|
||||
}
|
||||
else
|
||||
{
|
||||
setObjectiveScoreText( "allies", &"OBJECTIVES_WAR_SCORE" );
|
||||
setObjectiveScoreText( "axis", &"OBJECTIVES_WAR_SCORE" );
|
||||
}
|
||||
setObjectiveHintText( "allies", "Each several kills of your team, your weapon ranks up! \n \n Mod made by ^:Santahunter^7!" );
|
||||
setObjectiveHintText( "axis", "Each several kills of your team, your weapon ranks up! \n \n Mod made by ^:Santahunter^7!" );
|
||||
|
||||
level.killcam = false;
|
||||
level.spawnMins = ( 0, 0, 0 );
|
||||
level.spawnMaxs = ( 0, 0, 0 );
|
||||
maps\mp\gametypes\_spawnlogic::placeSpawnPoints( "mp_tdm_spawn_allies_start" );
|
||||
maps\mp\gametypes\_spawnlogic::placeSpawnPoints( "mp_tdm_spawn_axis_start" );
|
||||
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_tdm_spawn" );
|
||||
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_tdm_spawn" );
|
||||
|
||||
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
|
||||
setMapCenter( level.mapCenter );
|
||||
|
||||
allowed[0] = level.gameType;
|
||||
allowed[1] = "airdrop_pallet";
|
||||
|
||||
maps\mp\gametypes\_gameobjects::main(allowed);
|
||||
}
|
||||
|
||||
|
||||
getSpawnPoint()
|
||||
{
|
||||
spawnteam = self.pers["team"];
|
||||
if ( game["switchedsides"] )
|
||||
spawnteam = getOtherTeam( spawnteam );
|
||||
|
||||
if ( level.inGracePeriod )
|
||||
{
|
||||
spawnPoints = maps\mp\gametypes\_spawnlogic::getSpawnpointArray( "mp_tdm_spawn_" + spawnteam + "_start" );
|
||||
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Random( spawnPoints );
|
||||
}
|
||||
else
|
||||
{
|
||||
spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( spawnteam );
|
||||
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam( spawnPoints );
|
||||
}
|
||||
|
||||
return spawnPoint;
|
||||
}
|
||||
|
||||
|
||||
onNormalDeath( victim, attacker, lifeId )
|
||||
{
|
||||
score = maps\mp\gametypes\_rank::getScoreInfoValue( "kill" );
|
||||
assert( isDefined( score ) );
|
||||
|
||||
attacker maps\mp\gametypes\_gamescore::giveTeamScoreForObjective( attacker.pers["team"], score );
|
||||
|
||||
if ( game["state"] == "postgame" && game["teamScores"][attacker.team] > game["teamScores"][level.otherTeam[attacker.team]] )
|
||||
attacker.finalKill = true;
|
||||
}
|
||||
|
||||
|
||||
onTimeLimit()
|
||||
{
|
||||
if ( game["status"] == "overtime" )
|
||||
{
|
||||
winner = "forfeit";
|
||||
}
|
||||
else if ( game["teamScores"]["allies"] == game["teamScores"]["axis"] )
|
||||
{
|
||||
winner = "overtime";
|
||||
}
|
||||
else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] )
|
||||
{
|
||||
winner = "axis";
|
||||
}
|
||||
else
|
||||
{
|
||||
winner = "allies";
|
||||
}
|
||||
|
||||
thread maps\mp\gametypes\_gamelogic::endGame( winner, game["strings"]["time_limit_reached"] );
|
||||
}
|
||||
1
maps/mp/gametypes/gungame_team.txt
Executable file
1
maps/mp/gametypes/gungame_team.txt
Executable file
@@ -0,0 +1 @@
|
||||
"Team Gungame"
|
||||
24
maps/mp/gulag.gsc
Executable file
24
maps/mp/gulag.gsc
Executable file
@@ -0,0 +1,24 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
// maps\createfx\gulag_audio::main();
|
||||
// maps\gulag_precache::main();
|
||||
// maps\createart\gulag_fog::main();
|
||||
// maps\gulag_fx::main();
|
||||
|
||||
maps\mp\_load::main();
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_gulag" );
|
||||
|
||||
setDvar( "r_spotLightMaxLength", 900 );
|
||||
|
||||
ambientPlay( "ambient_gulag_ext0" );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
173
maps/mp/gulag_fx.gsc
Executable file
173
maps/mp/gulag_fx.gsc
Executable file
@@ -0,0 +1,173 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "breach_price" ] = LoadFX( "explosions/gulag_price_breach" );
|
||||
level._effect[ "water_stop" ] = LoadFX( "misc/parabolic_water_stand" );
|
||||
level._effect[ "water_movement" ] = LoadFX( "misc/parabolic_water_movement" );
|
||||
|
||||
//Underground Exploders
|
||||
level._effect[ "sparks_e_sound" ] = LoadFX( "explosions/sparks_e_sound" );
|
||||
level._effect[ "welding_small_extended" ] = LoadFX( "misc/welding_small_extended" );
|
||||
level._effect[ "grenade_wood" ] = LoadFX( "explosions/grenadeExp_wood" );
|
||||
level._effect[ "headshot" ] = LoadFX( "impacts/flesh_hit_head_fatal_exit" );
|
||||
|
||||
|
||||
|
||||
level._effect[ "hallway_collapsing" ] = LoadFX( "misc/hallway_collapsing" );
|
||||
level._effect[ "hallway_collapsing_big" ] = LoadFX( "misc/hallway_collapsing_big" );
|
||||
level._effect[ "hallway_collapsing_huge" ] = LoadFX( "misc/hallway_collapsing_huge" );
|
||||
level._effect[ "hallway_collapsing_chase" ] = LoadFX( "misc/hallway_collapsing_chase" );
|
||||
level._effect[ "hallway_collapsing_cavein" ] = LoadFX( "misc/hallway_collapsing_cavein" );
|
||||
level._effect[ "hallway_collapsing_cavein_short" ] = LoadFX( "misc/hallway_collapsing_cavein_short" );
|
||||
|
||||
level._effect[ "hallway_collapsing_burst" ] = LoadFX( "misc/hallway_collapsing_burst" );
|
||||
level._effect[ "hallway_collapsing_burst_no_linger" ] = LoadFX( "misc/hallway_collapsing_burst_no_linger" );
|
||||
level._effect[ "hallway_collapsing_major" ] = LoadFX( "misc/hallway_collapsing_major" );
|
||||
level._effect[ "hallway_collapsing_major_norocks" ] = LoadFX( "misc/hallway_collapsing_major_norocks" );
|
||||
|
||||
level._effect[ "hallway_collapse_smoke_runner" ] = LoadFX( "smoke/hallway_collapse_smoke_runner" );
|
||||
level._effect[ "hallway_collapse_smoke_runner_short" ] = LoadFX( "smoke/hallway_collapse_smoke_runner_short" );
|
||||
level._effect[ "hallway_cavein_smoke_runner_no_linger" ] = LoadFX( "smoke/hallway_cavein_smoke_runner_no_linger" );
|
||||
level._effect[ "hallway_collapse_smoke_swirl_runner" ] = LoadFX( "smoke/hallway_collapse_smoke_swirl_runner" );
|
||||
level._effect[ "hallway_collapse_ceiling_smoke" ] = LoadFX( "smoke/hallway_collapse_ceiling_smoke" );
|
||||
|
||||
level._effect[ "hallway_cavein_smoke_runner" ] = LoadFX( "smoke/hallway_cavein_smoke_runner" );
|
||||
|
||||
//Player Footstep fx
|
||||
level._effect[ "footstep_snow_small" ] = LoadFX( "impacts/footstep_snow_small" );
|
||||
level._effect[ "footstep_snow" ] = LoadFX( "impacts/footstep_snow" );
|
||||
|
||||
//
|
||||
|
||||
level._effect[ "ceiling_collapse_dirt1" ] = LoadFX( "dust/ceiling_collapse_dirt1" );
|
||||
level._effect[ "ceiling_collapse_dirt1_decal" ] = LoadFX( "dust/ceiling_collapse_dirt1_decal" );
|
||||
level._effect[ "ceiling_rock_break" ] = LoadFX( "misc/ceiling_rock_break" );
|
||||
level._effect[ "ceiling_rock_break_decal" ] = LoadFX( "misc/ceiling_rock_break_decal" );
|
||||
level._effect[ "ceiling_rock_break_grow" ] = LoadFX( "misc/ceiling_rock_break_grow" );
|
||||
level._effect[ "rock_falling_large" ] = LoadFX( "misc/rock_falling_large" );
|
||||
level._effect[ "glass_falling" ] = LoadFX( "misc/glass_falling" );
|
||||
|
||||
//Center Lightshaft
|
||||
level._effect[ "falling_debris_ring" ] = LoadFX( "misc/falling_debris_ring" );
|
||||
level._effect[ "trash_paper_dropping" ] = LoadFX( "misc/trash_paper_dropping" );
|
||||
|
||||
//Waterfall
|
||||
level._effect[ "waterfall_drainage" ] = LoadFX( "water/waterfall_drainage" );
|
||||
level._effect[ "waterfall_drainage_short" ] = LoadFX( "water/waterfall_drainage_short" );
|
||||
level._effect[ "waterfall_drainage_distortion" ] = LoadFX( "water/waterfall_drainage_distortion" );
|
||||
level._effect[ "waterfall_drainage_splash" ] = LoadFX( "water/waterfall_drainage_splash" );
|
||||
level._effect[ "waterfall_drainage_splash_falling" ] = LoadFX( "water/waterfall_drainage_splash_falling" );
|
||||
|
||||
level._effect[ "gulag_cafe_spotlight" ] = LoadFX( "misc/gulag_cafe_spotlight" );
|
||||
|
||||
|
||||
level._effect[ "firelp_large_pm" ] = LoadFX( "fire/firelp_large_pm" );
|
||||
level._effect[ "firelp_med_pm" ] = LoadFX( "fire/firelp_med_pm" );
|
||||
level._effect[ "flare_start_gulag" ] = LoadFX( "misc/flare_start_gulag" );
|
||||
level._effect[ "flare_gulag" ] = LoadFX( "misc/flare_gulag" );
|
||||
|
||||
level._effect[ "water_slide" ] = LoadFX( "water/water_slide" );
|
||||
level._effect[ "water_slide_splash" ] = LoadFX( "water/water_slide_splash" );
|
||||
level._effect[ "water_slide_start" ] = LoadFX( "water/water_slide_start" );
|
||||
|
||||
//Final Room
|
||||
level._effect[ "falling_water_trickle" ] = LoadFX( "water/falling_water_trickle" );
|
||||
level._effect[ "wall_explosion_2" ] = LoadFX( "explosions/wall_explosion_2" );
|
||||
level._effect[ "wall_explosion_2_short" ] = LoadFX( "explosions/wall_explosion_2_short" );
|
||||
level._effect[ "wall_explosion_2_short_nosmoke" ] = LoadFX( "explosions/wall_explosion_2_short_nosmoke" );
|
||||
level._effect[ "building_explosion_mega_gulag" ] = LoadFX( "explosions/building_explosion_mega_gulag" );
|
||||
level._effect[ "fireball_gulag" ] = LoadFX( "explosions/fireball_gulag" );
|
||||
level._effect[ "player_cavein" ] = LoadFX( "smoke/player_cavein" );
|
||||
level._effect[ "debri_explosion" ] = LoadFX( "explosions/debri_explosion" );
|
||||
level._effect[ "falling_debrigulag_evac" ] = LoadFX( "misc/falling_debris_gulag_evac" );
|
||||
|
||||
//Scripted Lights & Stuff
|
||||
level._effect[ "dlight_blue" ] = LoadFX( "misc/dlight_blue" );
|
||||
level._effect[ "dlight_blue_flicker" ] = LoadFX( "misc/dlight_blue_flicker" );
|
||||
level._effect[ "dlight_red" ] = LoadFX( "misc/dlight_red" );
|
||||
level._effect[ "flesh_hit" ] = LoadFX( "impacts/flesh_hit_body_fatal_exit" );
|
||||
|
||||
//Intro Fx
|
||||
|
||||
level._effect[ "minigun_shell_eject" ] = LoadFX( "shellejects/20mm_mp" );
|
||||
level._effect[ "f15_missile" ] = LoadFX( "smoke/smoke_geotrail_sidewinder" );
|
||||
|
||||
|
||||
|
||||
level._effect[ "missile_brackets" ] = LoadFX( "misc/missile_brackets" );
|
||||
level._effect[ "javelin_ignition" ] = LoadFX( "misc/javelin_ignition_gulag" );
|
||||
level._effect[ "jet_afterburner_ignite" ] = LoadFX( "fire/jet_afterburner_ignite" );
|
||||
level._effect[ "javelin_trail" ] = LoadFX( "smoke/smoke_geotrail_javelin_gulag_flyin" );
|
||||
level._effect[ "tracer_incoming" ] = LoadFX( "misc/tracer_incoming" );
|
||||
level._effect[ "smoke_swirl_runner_dual" ] = LoadFX( "smoke/smoke_swirl_runner_dual" );
|
||||
|
||||
level._effect[ "missile_explosion" ] = LoadFX( "explosions/vehicle_explosion_bmp" );
|
||||
level._effect[ "f15_smoke" ] = LoadFX( "smoke/smoke_trail_black_jet" );
|
||||
|
||||
level._effect[ "building_explosion_gulag" ] = LoadFX( "explosions/building_explosion_gulag" );
|
||||
level._effect[ "building_explosion_gulag_blowback" ] = LoadFX( "explosions/building_explosion_gulag_blowback" );
|
||||
level._effect[ "building_explosion_huge_gulag" ] = LoadFX( "explosions/building_explosion_huge_gulag" );
|
||||
level._effect[ "building_explosion_metal_gulag" ] = LoadFX( "explosions/building_explosion_metal_gulag" );
|
||||
level._effect[ "bhd_dirt" ] = LoadFX( "impacts/bhd_dirt" );
|
||||
level._effect[ "smoke_pushed" ] = LoadFX( "smoke/smoke_pushed" );
|
||||
|
||||
level._effect[ "jet_crash" ] = LoadFX( "explosions/jet_crash" );
|
||||
level._effect[ "jet_crash_bounce" ] = LoadFX( "explosions/jet_crash_bounce" );
|
||||
level._effect[ "jet_crash_smoke_blow_1" ] = LoadFX( "explosions/jet_crash_smoke_blow_1" );
|
||||
level._effect[ "jet_crash_smoke_blow_2" ] = LoadFX( "explosions/jet_crash_smoke_blow_2" );
|
||||
level._effect[ "jet_crash_smoke_fill" ] = LoadFX( "explosions/jet_crash_smoke_fill" );
|
||||
level._effect[ "thin_black_smoke_L" ] = LoadFX( "smoke/thin_black_smoke_L" );
|
||||
level._effect[ "thick_black_smoke_L" ] = LoadFX( "smoke/thick_black_smoke_L" );
|
||||
|
||||
level._effect[ "missile_trail" ] = LoadFX( "smoke/gulag_missile_trail" );
|
||||
///add_earthquake( "boat_artillery", 0.35, 0.75, 4500 );
|
||||
///add_earthquake( "ceiling_collapse", 0.4, 4, 4500 );
|
||||
|
||||
|
||||
//Ambient FX
|
||||
|
||||
level._effect[ "powerline_runner_10sec_line" ] = LoadFX( "explosions/powerline_runner_10sec_line" );
|
||||
level._effect[ "amb_ash" ] = LoadFX( "smoke/amb_ash" );
|
||||
level._effect[ "amb_smoke_blend" ] = LoadFX( "smoke/amb_smoke_blend" );
|
||||
level._effect[ "battlefield_smokebank_bog_a" ] = LoadFX( "smoke/battlefield_smokebank_bog_a" );
|
||||
level._effect[ "amb_smoke_add" ] = LoadFX( "smoke/amb_smoke_add" );
|
||||
level._effect[ "battlefield_smokebank_S" ] = LoadFX( "smoke/battlefield_smokebank_S" );
|
||||
level._effect[ "insect_trail_runner" ] = LoadFX( "misc/insect_trail_runner" );
|
||||
level._effect[ "moth_runner" ] = LoadFX( "misc/moth_runner" );
|
||||
level._effect[ "dust_wind_slow_broadcast" ] = LoadFX( "dust/dust_wind_slow_broadcast" );
|
||||
level._effect[ "fog_bog_a" ] = LoadFX( "weather/fog_bog_a" );
|
||||
level._effect[ "dust_ceiling_ash_small" ] = LoadFX( "dust/dust_ceiling_ash_small" );
|
||||
level._effect[ "hallway_smoke_light" ] = LoadFX( "smoke/hallway_smoke_light" );
|
||||
level._effect[ "hawk" ] = LoadFX( "weather/hawk" );
|
||||
level._effect[ "dust_wind_slow_loop_gulag" ] = LoadFX( "dust/dust_wind_slow_loop_gulag" );
|
||||
level._effect[ "firelp_med_pm" ] = LoadFX( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm" ] = LoadFX( "fire/firelp_small_pm" );
|
||||
level._effect[ "drips_slow" ] = LoadFX( "misc/drips_slow" );
|
||||
level._effect[ "drips_slow_infrequent" ] = LoadFX( "misc/drips_slow_infrequent" );
|
||||
level._effect[ "fire_falling_runner_point" ] = LoadFX( "fire/fire_falling_runner_point" );
|
||||
|
||||
// Cloud FX
|
||||
level._effect[ "cloud_bank_far_gulag" ] = LoadFX( "weather/cloud_bank_far_gulag" );
|
||||
level._effect[ "cloud_bank_gulag" ] = LoadFX( "weather/cloud_bank_gulag" );
|
||||
level._effect[ "cloud_bank_gulag_z_feather" ] = LoadFX( "weather/cloud_bank_gulag_z_feather" );
|
||||
level._effect[ "cloud_bank_thick_gulag" ] = LoadFX( "weather/cloud_bank_thick_gulag" );
|
||||
level._effect[ "cloud_bank_opaque_1_gulag" ] = LoadFX( "weather/cloud_bank_opaque_1_gulag" );
|
||||
level._effect[ "cloud_bank_opaque_2_gulag" ] = LoadFX( "weather/cloud_bank_opaque_2_gulag" );
|
||||
level._effect[ "cloud_bank_opaque_oriented_gulag" ] = LoadFX( "weather/cloud_bank_opaque_oriented_gulag" );
|
||||
level._effect[ "cloud_bank_cloud_filler_gulag" ] = LoadFX( "weather/cloud_bank_cloud_filler_gulag" );
|
||||
level._effect[ "cloud_bank_cloud_filler_tight_gulag" ] = LoadFX( "weather/cloud_bank_cloud_filler_tight_gulag" );
|
||||
level._effect[ "cloud_bank_cloud_filler_tight_hazy_gulag" ] = LoadFX( "weather/cloud_bank_cloud_filler_tight_hazy_gulag" );
|
||||
level._effect[ "cloud_bank_cloud_filler_light_gulag" ] = LoadFX( "weather/cloud_bank_cloud_filler_light_gulag" );
|
||||
level._effect[ "gulag_clouds" ] = LoadFX( "weather/gulag_clouds" );
|
||||
|
||||
|
||||
if ( !isdefined( level.script ) )
|
||||
level.script = ToLower( GetDvar( "mapname" ) );
|
||||
|
||||
///if ( !getdvarint( "r_reflectionProbeGenerate" ) )
|
||||
maps\createfx\gulag_fx::main();
|
||||
|
||||
///thread treadfx_override();
|
||||
|
||||
}
|
||||
18
maps/mp/hunted_precache.gsc
Executable file
18
maps/mp/hunted_precache.gsc
Executable file
@@ -0,0 +1,18 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
maps\co_ac130_anim::main();
|
||||
common_scripts\_destructible_types_anim_airconditioner::main();
|
||||
common_scripts\_destructible_types_anim_light_fluo_single::main();
|
||||
//common_scripts\_destructible_types_anim_lockers::main();
|
||||
//common_scripts\_destructible_types_anim_wallfan::main();
|
||||
maps\animated_models\foliage_dead_pine_lg_sway2::main();
|
||||
maps\animated_models\foliage_dead_pine_med_sway2::main();
|
||||
maps\animated_models\foliage_tree_oak_1::main();
|
||||
maps\animated_models\highrise_fencetarp_04b_wind_a::main();
|
||||
maps\animated_models\highrise_fencetarp_04b_wind_b::main();
|
||||
maps\animated_models\highrise_fencetarp_04b_wind_c::main();
|
||||
maps\animated_models\highrise_fencetarp_07b_wind_a::main();
|
||||
maps\animated_models\highrise_fencetarp_07b_wind_b::main();
|
||||
maps\animated_models\highrise_fencetarp_07b_wind_c::main();
|
||||
}
|
||||
26
maps/mp/invasion.gsc
Executable file
26
maps/mp/invasion.gsc
Executable file
@@ -0,0 +1,26 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\gametypes\_hud_util;
|
||||
|
||||
main()
|
||||
{
|
||||
if ( getdvar( "r_reflectionProbeGenerate" ) == "1" )
|
||||
return;
|
||||
|
||||
setDvar( "r_specularcolorscale", "2.3" );
|
||||
|
||||
maps\invasion_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
// maps\createart\invasion_art::main();
|
||||
|
||||
ambientPlay( "ambient_invasion_ext1" );
|
||||
|
||||
setDvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
|
||||
|
||||
maps\_compass::setupMiniMap("compass_map_invasion");
|
||||
}
|
||||
82
maps/mp/invasion_fx.gsc
Executable file
82
maps/mp/invasion_fx.gsc
Executable file
@@ -0,0 +1,82 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level._effect[ "uav_explosion" ] = LoadFX( "explosions/vehicle_explosion_hummer_nodoors" );
|
||||
|
||||
//walking through water
|
||||
level._effect[ "water_stop" ] = LoadFX( "misc/parabolic_water_stand" );
|
||||
level._effect[ "water_movement" ] = LoadFX( "misc/parabolic_water_movement" );
|
||||
|
||||
level._effect[ "firelp_vhc_lrg_pm_farview" ] = LoadFX( "fire/firelp_vhc_lrg_pm_farview" );
|
||||
level._effect[ "antiair_runner" ] = LoadFX( "misc/antiair_runner_cloudy" );
|
||||
level._effect[ "thin_black_smoke_L" ] = LoadFX( "smoke/thin_black_smoke_L" );
|
||||
level._effect[ "wood_explosion_1" ] = LoadFX( "explosions/wood_explosion_1" );
|
||||
|
||||
level._effect[ "smokescreen" ] = LoadFX( "smoke/smoke_grenade_low_invasion" );
|
||||
|
||||
level._effect[ "ceiling_dust" ] = LoadFX( "dust/ceiling_dust_default" );
|
||||
|
||||
//deleted by z for optimization
|
||||
//level._effect[ "horizon_explosion" ] = LoadFX( "explosions/default_explosion" );
|
||||
//level._effect[ "horizon_explosion_distant" ] = LoadFX( "explosions/default_explosion" );
|
||||
//level._effect[ "horizon_explosion_more_distant" ] = LoadFX( "explosions/default_explosion" );
|
||||
|
||||
//intro
|
||||
level._effect[ "humvee_explosion" ] = LoadFX( "explosions/small_vehicle_explosion" );
|
||||
level._effect[ "pillar_explosion_brick" ] = LoadFX( "explosions/pillar_explosion_brick_invasion" );
|
||||
|
||||
// nates_restaurant prefab exploder id's 138-151
|
||||
// just replace below with LoadFX( "misc/no_effect" ) to empty out the effect and do it yourself in createfx
|
||||
// we'll cleanup the entities when you're done making it pretty.
|
||||
level._effect[ "nates_roof_balcony_blaster" ] = LoadFX( "explosions/default_explosion" );
|
||||
level._effect[ "nates_roof_balcony_blaster_bricks" ] = LoadFX( "explosions/brick_chunk" );
|
||||
level._effect[ "nates_roof_balcony_blaster_sparks_b" ] = LoadFX( "explosions/sparks_b" );
|
||||
level._effect[ "nates_sign_explosion" ] = LoadFX( "explosions/window_explosion" );
|
||||
level._effect[ "nates_sign_explosion_sparks_runner" ] = LoadFX( "explosions/sparks_runner" );
|
||||
level._effect[ "nates_sign_explosion_flaming_awning" ] = LoadFX( "fire/firelp_small_pm" );
|
||||
level._effect[ "nates_roof_balcony_blaster" ] = LoadFX( "explosions/default_explosion" );
|
||||
level._effect[ "nates_roof_awning_flareup" ] = LoadFX( "explosions/fuel_med_explosion" );
|
||||
level._effect[ "nates_roof_pipe_fire" ] = LoadFX( "impacts/pipe_fire" );
|
||||
|
||||
//this plays on super explosion
|
||||
level._effect[ "nates_super_explosion_smoke" ] = LoadFX( "smoke/thin_black_smoke_L" );
|
||||
level._effect[ "nates_super_explosion" ] = LoadFX( "explosions/nates_super_explosion" );
|
||||
level._effect[ "nates_sign_explode" ] = LoadFX( "explosions/nates_sign_explode" );
|
||||
|
||||
level._effect[ "falling_debris_player" ] = LoadFX( "misc/falling_debris_player" );
|
||||
|
||||
|
||||
// fire fx
|
||||
level._effect[ "fire_tree" ] = LoadFX( "fire/fire_tree" );
|
||||
level._effect[ "fire_tree_slow" ] = LoadFX( "fire/fire_tree_slow" );
|
||||
level._effect[ "fire_falling_runner" ] = LoadFX( "fire/fire_falling_runner" );
|
||||
level._effect[ "fire_falling_localized_runner" ] = LoadFX( "fire/fire_falling_localized_runner" );
|
||||
level._effect[ "fire_tree_embers" ] = LoadFX( "fire/fire_tree_embers" );
|
||||
level._effect[ "fire_tree_distortion" ] = LoadFX( "fire/fire_tree_distortion" );
|
||||
|
||||
level._effect[ "firelp_med_pm" ] = LoadFX( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm" ] = LoadFX( "fire/firelp_small_pm" );
|
||||
level._effect[ "firelp_small_pm_a" ] = LoadFX( "fire/firelp_small_pm_a" );
|
||||
|
||||
level._effect[ "firelp_small_streak_pm1_h" ] = loadfx( "fire/firelp_small_streak_pm1_h" );
|
||||
|
||||
//ambient
|
||||
level._effect[ "bird_seagull_flock_large" ] = LoadFX( "misc/bird_seagull_flock_large" );
|
||||
level._effect[ "insect_trail_runner_icbm" ] = LoadFX( "misc/insect_trail_runner_icbm" );
|
||||
level._effect[ "leaves_fall_gentlewind" ] = LoadFX( "misc/leaves_fall_gentlewind" );
|
||||
level._effect[ "leaves_ground_gentlewind" ] = LoadFX( "misc/leaves_ground_gentlewind" );
|
||||
level._effect[ "moth_runner" ] = LoadFX( "misc/moth_runner" );
|
||||
|
||||
level._effect[ "ground_smoke_1200x1200" ] = LoadFX( "smoke/ground_smoke1200x1200" );
|
||||
// level._effect[ "battlefield_smokebank_S" ] = LoadFX( "smoke/battlefield_smokebank_S" );
|
||||
level._effect[ "fog_ground_200" ] = LoadFX( "smoke/fog_ground_200" );
|
||||
level._effect[ "grn_smk_ling" ] = LoadFX( "smoke/grn_smk_ling" );
|
||||
level._effect[ "hallway_smoke_light" ] = LoadFX( "smoke/hallway_smoke_light" );
|
||||
|
||||
level._effect[ "insects_light_invasion" ] = LoadFX( "misc/insects_light_invasion" );
|
||||
level._effect[ "heli_crash_fire" ] = LoadFX( "fire/heli_crash_fire" );
|
||||
|
||||
level._effect[ "smoke_plume01" ] = LoadFX( "smoke/smoke_plume01" );
|
||||
level._effect[ "skybox_smoke" ] = LoadFX( "smoke/skybox_smoke" );
|
||||
}
|
||||
50
maps/mp/iw4_credits.gsc
Executable file
50
maps/mp/iw4_credits.gsc
Executable file
@@ -0,0 +1,50 @@
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
|
||||
maps\mp\_load::main();
|
||||
|
||||
|
||||
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_hunted" );
|
||||
setdvar( "compassmaxrange", "4000" );
|
||||
|
||||
|
||||
array_thread( getentarray( "compassTriggers", "targetname" ), ::compass_triggers_think );
|
||||
|
||||
}
|
||||
|
||||
self_delete()
|
||||
{
|
||||
self delete();
|
||||
}
|
||||
|
||||
|
||||
compass_triggers_think()
|
||||
{
|
||||
assertex( isdefined( self.script_noteworthy ), "compassTrigger at " + self.origin + " needs to have a script_noteworthy with the name of the minimap to use" );
|
||||
while( true )
|
||||
{
|
||||
wait( 1 );
|
||||
self waittill( "trigger" );
|
||||
maps\mp\_compass::setupMiniMap( self.script_noteworthy );
|
||||
}
|
||||
}
|
||||
|
||||
createSpawnpoint( classname, origin, yaw )
|
||||
{
|
||||
spawnpoint = spawn( "script_origin", origin );
|
||||
spawnpoint.angles = (0,yaw,0);
|
||||
|
||||
if ( !isdefined( level.extraspawnpoints ) )
|
||||
level.extraspawnpoints = [];
|
||||
if ( !isdefined( level.extraspawnpoints[classname] ) )
|
||||
level.extraspawnpoints[classname] = [];
|
||||
level.extraspawnpoints[classname][ level.extraspawnpoints[classname].size ] = spawnpoint;
|
||||
}
|
||||
470
maps/mp/killstreaks/_nuke.gsc
Executable file
470
maps/mp/killstreaks/_nuke.gsc
Executable file
@@ -0,0 +1,470 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
|
||||
init()
|
||||
{
|
||||
precacheItem( "nuke_mp" );
|
||||
precacheLocationSelector( "map_nuke_selector" );
|
||||
precacheString( &"MP_TACTICAL_NUKE_CALLED" );
|
||||
precacheString( &"MP_FRIENDLY_TACTICAL_NUKE" );
|
||||
precacheString( &"MP_TACTICAL_NUKE" );
|
||||
|
||||
level._effect[ "nuke_player" ] = loadfx( "explosions/player_death_nuke" );
|
||||
level._effect[ "nuke_flash" ] = loadfx( "explosions/player_death_nuke_flash" );
|
||||
level._effect[ "nuke_aftermath" ] = loadfx( "dust/nuke_aftermath_mp" );
|
||||
|
||||
game["strings"]["nuclear_strike"] = &"MP_TACTICAL_NUKE";
|
||||
|
||||
level.killstreakFuncs["nuke"] = ::tryUseNuke;
|
||||
|
||||
setDvarIfUninitialized( "scr_nukeTimer", 10 );
|
||||
setDvarIfUninitialized( "scr_nukeCancelMode", 0 );
|
||||
|
||||
|
||||
level.nukeTimer = getDvarInt( "scr_nukeTimer" );
|
||||
level.cancelMode = getDvarInt( "scr_nukeCancelMode" );
|
||||
|
||||
//thread testConnect();
|
||||
setDevDvarIfUninitialized("moab", 0);
|
||||
precacheModel("projectile_icbm_missle");
|
||||
precacheItem("remotemissile_projectile_mp");
|
||||
level.geotrail = loadfx( "smoke/smoke_geotrail_icbm" );
|
||||
level.missile_launch = loadfx( "smoke/icbm_launch" );
|
||||
|
||||
/#
|
||||
setDevDvarIfUninitialized( "scr_nukeDistance", 5000 );
|
||||
setDevDvarIfUninitialized( "scr_nukeEndsGame", true );
|
||||
setDevDvarIfUninitialized( "scr_nukeDebugPosition", false );
|
||||
#/
|
||||
}
|
||||
|
||||
tryUseNuke( lifeId, allowCancel )
|
||||
{
|
||||
if( isDefined( level.nukeIncoming ) )
|
||||
{
|
||||
self iPrintLnBold( &"MP_NUKE_ALREADY_INBOUND" );
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( self isUsingRemote() && ( !isDefined( level.gtnw ) || !level.gtnw ) )
|
||||
return false;
|
||||
|
||||
if ( !isDefined( allowCancel ) )
|
||||
allowCancel = true;
|
||||
|
||||
self thread doNuke( allowCancel );
|
||||
self notify( "used_nuke" );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
delaythread_nuke( delay, func )
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
wait ( delay );
|
||||
|
||||
thread [[ func ]]();
|
||||
}
|
||||
|
||||
doNuke( allowCancel )
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
level.nukeInfo = spawnStruct();
|
||||
level.nukeInfo.player = self;
|
||||
level.nukeInfo.team = self.pers["team"];
|
||||
|
||||
level.nukeIncoming = true;
|
||||
|
||||
maps\mp\gametypes\_gamelogic::pauseTimer();
|
||||
level.timeLimitOverride = true;
|
||||
setGameEndTime( int( gettime() + (level.nukeTimer * 1000) ) );
|
||||
setDvar( "ui_bomb_timer", 4 ); // Nuke sets '4' to avoid briefcase icon showing
|
||||
|
||||
if ( level.teambased )
|
||||
{
|
||||
thread teamPlayerCardSplash( "used_nuke", self, self.team );
|
||||
/*
|
||||
players = level.players;
|
||||
|
||||
foreach( player in level.players )
|
||||
{
|
||||
playerteam = player.pers["team"];
|
||||
if ( isdefined( playerteam ) )
|
||||
{
|
||||
if ( playerteam == self.pers["team"] )
|
||||
player iprintln( &"MP_TACTICAL_NUKE_CALLED", self );
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !level.hardcoreMode )
|
||||
self iprintlnbold(&"MP_FRIENDLY_TACTICAL_NUKE");
|
||||
}
|
||||
|
||||
|
||||
//level thread delaythread_nuke( (level.nukeTimer - 3.3), ::nukeSoundIncoming );
|
||||
//level thread delaythread_nuke( level.nukeTimer, ::nukeSoundExplosion );
|
||||
//level thread delaythread_nuke( level.nukeTimer, ::nukeSlowMo );
|
||||
level thread delaythread_nuke( level.nukeTimer, ::nukeEffects );
|
||||
//level thread delaythread_nuke( (level.nukeTimer + 0.25), ::nukeVision );
|
||||
level thread delaythread_nuke( (level.nukeTimer + 1.5), ::nukeDeath );
|
||||
//level thread delaythread_nuke( (level.nukeTimer + 1.5), ::nukeEarthquake );
|
||||
//level thread nukeAftermathEffect();
|
||||
|
||||
if ( level.cancelMode && allowCancel )
|
||||
level thread cancelNukeOnDeath( self );
|
||||
|
||||
// leaks if lots of nukes are called due to endon above.
|
||||
clockObject = spawn( "script_origin", (0,0,0) );
|
||||
clockObject hide();
|
||||
|
||||
while ( !isDefined( level.nukeDetonated ) )
|
||||
{
|
||||
clockObject playSound( "ui_mp_nukebomb_timer" );
|
||||
wait( 1.0 );
|
||||
}
|
||||
}
|
||||
|
||||
cancelNukeOnDeath( player )
|
||||
{
|
||||
player waittill_any( "death", "disconnect" );
|
||||
|
||||
if ( isDefined( player ) && level.cancelMode == 2 )
|
||||
player thread maps\mp\killstreaks\_emp::EMP_Use( 0, 0 );
|
||||
|
||||
|
||||
maps\mp\gametypes\_gamelogic::resumeTimer();
|
||||
level.timeLimitOverride = false;
|
||||
|
||||
setDvar( "ui_bomb_timer", 0 ); // Nuke sets '4' to avoid briefcase icon showing
|
||||
|
||||
level notify ( "nuke_cancelled" );
|
||||
}
|
||||
|
||||
nukeSoundIncoming()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
foreach( player in level.players )
|
||||
player playlocalsound( "nuke_incoming" );
|
||||
}
|
||||
|
||||
nukeSoundExplosion()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
foreach( player in level.players )
|
||||
{
|
||||
player playlocalsound( "nuke_explosion" );
|
||||
player playlocalsound( "nuke_wave" );
|
||||
}
|
||||
}
|
||||
|
||||
nukeEffects()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
setDvar( "ui_bomb_timer", 0 );
|
||||
setGameEndTime( 0 );
|
||||
|
||||
level.nukeDetonated = true;
|
||||
level maps\mp\killstreaks\_emp::destroyActiveVehicles( level.nukeInfo.player );
|
||||
|
||||
foreach( player in level.players )
|
||||
{
|
||||
|
||||
|
||||
|
||||
/# nukeDistance = getDvarInt( "scr_nukeDistance" ); #/
|
||||
|
||||
|
||||
/*
|
||||
/#
|
||||
if ( getDvarInt( "scr_nukeDebugPosition" ) )
|
||||
{
|
||||
lineTop = ( nukeEnt.origin[0], nukeEnt.origin[1], (nukeEnt.origin[2] + 500) );
|
||||
thread draw_line_for_time( nukeEnt.origin, lineTop, 1, 0, 0, 10 );
|
||||
}
|
||||
#/
|
||||
*/
|
||||
//nukeEnt thread nukeEffect( player );
|
||||
player hide();
|
||||
player.nuked = true;
|
||||
}
|
||||
playerForward = anglestoforward( level.nukeInfo.player.angles );
|
||||
playerForward = ( playerForward[0], playerForward[1], 0 );
|
||||
playerForward = VectorNormalize( playerForward );
|
||||
nukeDistance = 5000;
|
||||
nukeEnt = Spawn( "script_model", level.nukeInfo.player.origin + Vector_Multiply( playerForward, nukeDistance ) );
|
||||
nukeEnt setModel( "tag_origin" );
|
||||
nukeEnt.angles = ( 0, (level.nukeInfo.player.angles[1] + 180), 90 );
|
||||
nukeEnt thread doCustomNuke( level.nukeInfo.player );
|
||||
}
|
||||
|
||||
nukeEffect( player )
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
player endon( "disconnect" );
|
||||
|
||||
waitframe();
|
||||
PlayFXOnTagForClients( level._effect[ "nuke_flash" ], self, "tag_origin", player );
|
||||
}
|
||||
|
||||
nukeAftermathEffect()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
level waittill ( "spawning_intermission" );
|
||||
|
||||
afermathEnt = getEntArray( "mp_global_intermission", "classname" );
|
||||
afermathEnt = afermathEnt[0];
|
||||
up = anglestoup( afermathEnt.angles );
|
||||
right = anglestoright( afermathEnt.angles );
|
||||
|
||||
PlayFX( level._effect[ "nuke_aftermath" ], afermathEnt.origin, up, right );
|
||||
}
|
||||
|
||||
nukeSlowMo()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
//SetSlowMotion( <startTimescale>, <endTimescale>, <deltaTime> )
|
||||
setSlowMotion( 1.0, 0.25, 0.5 );
|
||||
level waittill( "nuke_death" );
|
||||
setSlowMotion( 0.25, 1, 2.0 );
|
||||
}
|
||||
|
||||
nukeVision()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
level.nukeVisionInProgress = true;
|
||||
visionSetNaked( "mpnuke", 3 );
|
||||
|
||||
level waittill( "nuke_death" );
|
||||
|
||||
visionSetNaked( "mpnuke_aftermath", 5 );
|
||||
wait 5;
|
||||
level.nukeVisionInProgress = undefined;
|
||||
}
|
||||
|
||||
nukeDeath()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
level notify( "nuke_death" );
|
||||
|
||||
maps\mp\gametypes\_hostmigration::waitTillHostMigrationDone();
|
||||
|
||||
AmbientStop(1);
|
||||
|
||||
/*foreach( player in level.players )
|
||||
{
|
||||
if ( isAlive( player ) && player.team != level.nukeInfo.player.team)
|
||||
player thread maps\mp\gametypes\_damage::finishPlayerDamageWrapper( level.nukeInfo.player, level.nukeInfo.player, 999999, 0, "MOD_EXPLOSIVE", "nuke_mp", player.origin, player.origin, "none", 0, 0 );
|
||||
}*/
|
||||
|
||||
level.postRoundTime = 10;
|
||||
|
||||
nukeEndsGame = true;
|
||||
|
||||
wait 5;
|
||||
if(getDvarInt("moab") == 0)
|
||||
{
|
||||
if ( level.teamBased )
|
||||
thread maps\mp\gametypes\_gamelogic::endGame( level.nukeInfo.team, game["strings"]["nuclear_strike"], true );
|
||||
else
|
||||
{
|
||||
if ( isDefined( level.nukeInfo.player ) )
|
||||
thread maps\mp\gametypes\_gamelogic::endGame( level.nukeInfo.player, game["strings"]["nuclear_strike"], true );
|
||||
else
|
||||
thread maps\mp\gametypes\_gamelogic::endGame( level.nukeInfo, game["strings"]["nuclear_strike"], true );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nukeEarthquake()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
level waittill( "nuke_death" );
|
||||
|
||||
// TODO: need to get a different position to call this on
|
||||
//earthquake( 0.6, 10, nukepos, 100000 );
|
||||
|
||||
//foreach( player in level.players )
|
||||
//player PlayRumbleOnEntity( "damage_heavy" );
|
||||
}
|
||||
|
||||
|
||||
waitForNukeCancel()
|
||||
{
|
||||
self waittill( "cancel_location" );
|
||||
self setblurforplayer( 0, 0.3 );
|
||||
}
|
||||
|
||||
endSelectionOn( waitfor )
|
||||
{
|
||||
self endon( "stop_location_selection" );
|
||||
self waittill( waitfor );
|
||||
self thread stopNukeLocationSelection( (waitfor == "disconnect") );
|
||||
}
|
||||
|
||||
endSelectionOnGameEnd()
|
||||
{
|
||||
self endon( "stop_location_selection" );
|
||||
level waittill( "game_ended" );
|
||||
self thread stopNukeLocationSelection( false );
|
||||
}
|
||||
|
||||
stopNukeLocationSelection( disconnected )
|
||||
{
|
||||
if ( !disconnected )
|
||||
{
|
||||
self setblurforplayer( 0, 0.3 );
|
||||
self endLocationSelection();
|
||||
self.selectingLocation = undefined;
|
||||
}
|
||||
self notify( "stop_location_selection" );
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testConnect()
|
||||
{
|
||||
while(true)
|
||||
{
|
||||
level waittill("connected", player);
|
||||
player thread test();
|
||||
}
|
||||
}
|
||||
test()
|
||||
{
|
||||
self endon("disconnect");
|
||||
self notifyOnPlayerCommand("F", "+activate");
|
||||
self waittill("spawned_player");
|
||||
self freezecontrols(false);
|
||||
while(true)
|
||||
{
|
||||
self waittill("F");
|
||||
self maps\mp\killstreaks\_killstreaks::giveKillstreak( "nuke", true );
|
||||
}
|
||||
}
|
||||
setupPlayer(camera)
|
||||
{
|
||||
self disableWeapons();
|
||||
self freezecontrols(true);
|
||||
self enableLinkTo();
|
||||
self.oldOrigin = self.origin;
|
||||
wait 1;
|
||||
self PlayerLinkToAbsolute(camera);
|
||||
}
|
||||
doCustomNuke(user)
|
||||
{
|
||||
level.startNuke = true;
|
||||
if(level.players.size < 1)
|
||||
return;
|
||||
lb = [];
|
||||
pathStart = (0,3000,3000);
|
||||
for(i = 0;i < 3;i++)
|
||||
{
|
||||
lb[i] = spawnHelicopter( user, pathStart, (90,0,0), "littlebird_mp" , "vehicle_little_bird_armed" );
|
||||
lb[i] Vehicle_SetSpeed( 100, 30 );
|
||||
lb[i] setvehgoalpos(pathStart+(0,-7000,0),1);
|
||||
pathStart = pathStart + (1500,1500,500);
|
||||
}
|
||||
missile = spawn("script_model", (12000,0,3000));
|
||||
missile.angles = (-130,0,0);
|
||||
missile setModel("test_sphere_silver"); // projectile_icbm_missle
|
||||
missile hide();
|
||||
//missile = MagicBullet( "remotemissile_projectile_mp",lb[1].origin, lb[1].origin-(0,0,300), level.players[randomInt(level.players.size)] );
|
||||
target = BulletTrace(missile.origin,missile.origin+(-12000,0,-3000),false,undefined)["position"];
|
||||
time = Distance(missile.origin,target) / 2000;
|
||||
camera = spawn("script_model", missile.origin+(-17000,0,2000));
|
||||
angles = VectorToAngles(missile.origin - camera.origin);
|
||||
camera.angles = (34,angles[1],0);
|
||||
camera setModel("tag_origin");
|
||||
foreach(player in level.players)
|
||||
player thread setupPlayer(camera);
|
||||
missile moveTo(target, time);
|
||||
wait 1;
|
||||
missile show();
|
||||
wait .2;
|
||||
missile thread loopFx();
|
||||
wait time-1.2;
|
||||
//missile waittill("death");
|
||||
earthquake( 0.6, 10, camera.origin, 100000 );
|
||||
foreach( player in level.players )
|
||||
{
|
||||
player playlocalsound( "nuke_incoming" );
|
||||
player playlocalsound( "nuke_explosion" );
|
||||
player playlocalsound( "nuke_wave" );
|
||||
}
|
||||
foreach(heli in lb)
|
||||
{
|
||||
heli thread maps\mp\killstreaks\_helicopter::heli_spin( 180 );
|
||||
heli thread maps\mp\killstreaks\_helicopter::heli_secondary_explosions();
|
||||
heli setvehgoalpos((randomInt(1000),randomInt(1000),randomInt(10000)),1);
|
||||
}
|
||||
PlayFXOnTagForClients( level._effect[ "nuke_flash" ], missile, "tag_origin", user );
|
||||
setSlowMotion( 1.0, 0.25, 0.5 );
|
||||
wait 1.5;
|
||||
setSlowMotion( 0.25, 1, 2.0 );
|
||||
visionSetNaked( "mpnuke", 3 );
|
||||
wait 3;
|
||||
if(getDvarInt("moab") == 1)
|
||||
{
|
||||
foreach(player in level.players)
|
||||
{
|
||||
player enableWeapons();
|
||||
player freezecontrols(false);
|
||||
player unlink();
|
||||
player setorigin(player.oldOrigin);
|
||||
}
|
||||
}
|
||||
camera delete();
|
||||
missile delete();
|
||||
level.gtnw = false;
|
||||
level.nukeIncoming = false;
|
||||
self delete();
|
||||
if(getDvarInt("moab") == 1)
|
||||
{
|
||||
foreach(player in level.players)
|
||||
{
|
||||
player show();
|
||||
}
|
||||
}
|
||||
wait 3;
|
||||
visionSetNaked( "mpnuke_aftermath", 5 );
|
||||
wait 5;
|
||||
foreach(heli in lb)
|
||||
{
|
||||
heli thread maps\mp\killstreaks\_helicopter::heli_explode();
|
||||
}
|
||||
}
|
||||
loopFx()
|
||||
{
|
||||
launchFx = spawnFx(level.missile_launch, self.origin);
|
||||
triggerFx(launchFx);
|
||||
playFxOnTag(level.geotrail, self, "tag_origin");
|
||||
/*while(isDefined(self))
|
||||
{
|
||||
trailFx = spawnFx(level.geotrail, self.origin);
|
||||
triggerFx(trailFx);
|
||||
wait .2;
|
||||
trailFx delete();
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
3466
maps/mp/mp_abandon.d3dbsp.ents
Executable file
3466
maps/mp/mp_abandon.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
27
maps/mp/mp_abandon.gsc
Executable file
27
maps/mp/mp_abandon.gsc
Executable file
@@ -0,0 +1,27 @@
|
||||
|
||||
main()
|
||||
{
|
||||
|
||||
maps\mp\mp_abandon_precache::main();
|
||||
maps\createart\mp_abandon_art::main();
|
||||
maps\mp\mp_abandon_fx::main();
|
||||
|
||||
maps\mp\_destructible_dlc2::main(); // call before _load
|
||||
maps\mp\_destructible_dlc::main(); // call before _load
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_abandon" );
|
||||
|
||||
ambientPlay( "ambient_mp_abandon" );
|
||||
|
||||
|
||||
setdvar( "r_specularcolorscale", "2.5" );
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.452 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
|
||||
setdvar( "compassmaxrange", "1800" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
}
|
||||
30
maps/mp/mp_abandon_fx.gsc
Executable file
30
maps/mp/mp_abandon_fx.gsc
Executable file
@@ -0,0 +1,30 @@
|
||||
main()
|
||||
{
|
||||
|
||||
level._effect[ "firelp_large_pm" ] = loadfx( "fire/firelp_large_pm" );
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
|
||||
level._effect[ "traffic" ] = loadfx( "props/traffic_mp_abandon" );
|
||||
|
||||
level._effect[ "moth_runner" ] = loadfx( "misc/moth_runner" );
|
||||
level._effect[ "insect_trail_runner_icbm" ] = loadfx( "misc/insect_trail_runner_icbm" );
|
||||
level._effect[ "insects_carcass_runner" ] = loadfx( "misc/insects_carcass_runner" );
|
||||
|
||||
level._effect[ "leaves_fall_gentlewind" ] = loadfx( "misc/leaves_fall_gentlewind" );
|
||||
level._effect[ "leaves_ground_gentlewind" ] = loadfx( "misc/leaves_ground_gentlewind" );
|
||||
level._effect[ "ground_fog_1200_abandon" ] = loadfx( "smoke/ground_fog_1200_abandon" );
|
||||
level._effect[ "ground_fog_600_abandon" ] = loadfx( "smoke/ground_fog_600_abandon" );
|
||||
level._effect[ "ground_fog_300_abandon" ] = loadfx( "smoke/ground_fog_300_abandon" );
|
||||
level._effect[ "fog_ground_200" ] = loadfx( "smoke/fog_ground_200" );
|
||||
level._effect[ "trash_spiral_runner" ] = loadfx( "misc/trash_spiral_runner" );
|
||||
|
||||
level._effect[ "hallway_smoke_light" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
level._effect[ "room_smoke_200" ] = loadfx( "smoke/room_smoke_200" );
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_abandon_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
8
maps/mp/mp_abandon_precache.gsc
Executable file
8
maps/mp/mp_abandon_precache.gsc
Executable file
@@ -0,0 +1,8 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_fortune_machine::main();
|
||||
maps\animated_models\accessories_windsock_wind_medium::main();
|
||||
maps\animated_models\ferris_wheel::main();
|
||||
maps\animated_models\foliage_tree_river_birch_xl_a::main();
|
||||
}
|
||||
26
maps/mp/mp_afghan.gsc
Executable file
26
maps/mp/mp_afghan.gsc
Executable file
@@ -0,0 +1,26 @@
|
||||
#include maps\mp\_utility;
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\mp\mp_afghan_precache::main();
|
||||
maps\createart\mp_afghan_art::main();
|
||||
maps\mp\mp_afghan_fx::main();
|
||||
maps\mp\_explosive_barrels::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_afghan" );
|
||||
|
||||
setdvar( "compassmaxrange", "3000" );
|
||||
|
||||
ambientPlay( "ambient_mp_desert" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.2 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
|
||||
thread killTrigger( (206, 2414, 257 - 120), 55, 100 );
|
||||
}
|
||||
18
maps/mp/mp_afghan_fx.gsc
Executable file
18
maps/mp/mp_afghan_fx.gsc
Executable file
@@ -0,0 +1,18 @@
|
||||
main()
|
||||
{
|
||||
//ambient fx
|
||||
level._effect[ "dust_cloud_mp_afghan" ] = loadfx( "dust/dust_cloud_mp_afghan" );
|
||||
level._effect[ "sand_spray_detail_oriented_runner" ] = loadfx( "dust/sand_spray_detail_oriented_runner" );
|
||||
level._effect[ "sand_spray_cliff_oriented_runner" ] = loadfx( "dust/sand_spray_cliff_oriented_runner" );
|
||||
level._effect[ "room_smoke_200" ] = loadfx( "smoke/room_smoke_200" );
|
||||
level._effect[ "room_smoke_400" ] = loadfx( "smoke/room_smoke_400" );
|
||||
level._effect[ "drips_fast" ] = loadfx( "misc/drips_fast" );
|
||||
level._effect[ "light_shaft_motes_airport" ] = loadfx( "dust/light_shaft_motes_airport" );
|
||||
level._effect[ "light_glow_white_bulb" ] = loadfx( "misc/light_glow_white_bulb" );
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_afghan_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
13
maps/mp/mp_afghan_precache.gsc
Executable file
13
maps/mp/mp_afghan_precache.gsc
Executable file
@@ -0,0 +1,13 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_lockers::main();
|
||||
maps\animated_models\foliage_cod5_tree_jungle_01::main();
|
||||
maps\animated_models\foliage_cod5_tree_jungle_02::main();
|
||||
maps\animated_models\foliage_cod5_tree_pine05_large::main();
|
||||
maps\animated_models\foliage_desertbrush_1::main();
|
||||
maps\animated_models\foliage_pacific_bushtree01::main();
|
||||
maps\animated_models\foliage_pacific_bushtree01_halfsize::main();
|
||||
maps\animated_models\foliage_pacific_bushtree02::main();
|
||||
maps\animated_models\foliage_pacific_bushtree02_halfsize::main();
|
||||
}
|
||||
11527
maps/mp/mp_bloc.d3dbsp.ents
Executable file
11527
maps/mp/mp_bloc.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
20
maps/mp/mp_bloc.gsc
Executable file
20
maps/mp/mp_bloc.gsc
Executable file
@@ -0,0 +1,20 @@
|
||||
main()
|
||||
{
|
||||
maps\createart\mp_bloc_art::main();
|
||||
maps\mp\mp_bloc_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_bloc" );
|
||||
|
||||
setdvar( "compassmaxrange", "2000" );
|
||||
|
||||
ambientPlay( "ambient_trainer_ext2" );
|
||||
|
||||
game["attackers"] = "axis";
|
||||
game["defenders"] = "allies";
|
||||
|
||||
// raise up planes to avoid them flying through buildings
|
||||
level.airstrikeHeightScale = 1.8;
|
||||
|
||||
setdvar( "r_specularcolorscale", "2" );
|
||||
}
|
||||
14
maps/mp/mp_bloc_fx.gsc
Executable file
14
maps/mp/mp_bloc_fx.gsc
Executable file
@@ -0,0 +1,14 @@
|
||||
main()
|
||||
{
|
||||
thread precache_createfx_fx();
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
|
||||
level._effect[ "snow_light" ] = loadfx( "weather/snow_light_mp_bloc" );
|
||||
level._effect[ "hallway_smoke" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
level._effect[ "snow_wind" ] = loadfx( "weather/snow_wind" );
|
||||
|
||||
maps\createfx\mp_bloc_fx::main();
|
||||
}
|
||||
11668
maps/mp/mp_bloc_sh.d3dbsp.ents
Executable file
11668
maps/mp/mp_bloc_sh.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
23
maps/mp/mp_bloc_sh.gsc
Executable file
23
maps/mp/mp_bloc_sh.gsc
Executable file
@@ -0,0 +1,23 @@
|
||||
main()
|
||||
{
|
||||
maps\createart\mp_bloc_sh_art::main();
|
||||
maps\mp\mp_bloc_sh_precache::main();
|
||||
maps\createfx\mp_bloc_sh_fx::main();
|
||||
maps\mp\mp_bloc_sh_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_bloc_sh" );
|
||||
|
||||
setdvar( "compassmaxrange", "2000" );
|
||||
|
||||
ambientPlay( "ambient_trainer_ext2" );
|
||||
|
||||
game["attackers"] = "axis";
|
||||
game["defenders"] = "allies";
|
||||
|
||||
// raise up planes to avoid them flying through buildings
|
||||
level.airstrikeHeightScale = 1.8;
|
||||
|
||||
setdvar( "r_specularcolorscale", "2.2" );
|
||||
setdvar( "r_diffusecolorscale", "1.2" );
|
||||
}
|
||||
14
maps/mp/mp_bloc_sh_fx.gsc
Executable file
14
maps/mp/mp_bloc_sh_fx.gsc
Executable file
@@ -0,0 +1,14 @@
|
||||
main()
|
||||
{
|
||||
level._effect["hallway_smoke"] = loadfx ("smoke/hallway_smoke_dark");
|
||||
level._effect[ "room_dust_200_mp_vacant" ] = loadfx( "dust/room_dust_200_blend_mp_vacant" );
|
||||
level._effect[ "leaves_ground_gentlewind_dust" ] = loadfx( "misc/leaves_ground_gentlewind_dust_sh" );
|
||||
level._effect[ "dust_wind_slow_yel_loop" ] = loadfx( "dust/dust_wind_slow_yel_loop_sh" );
|
||||
//level._effect[ "drips_player_hand" ] = loadfx( "water/drips_player_hand_sh" );
|
||||
level._effect["water_spill_fall"] = loadfx("maps/mp_maps/fx_mp_water_spill");
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_bloc_sh_fx::main();
|
||||
#/
|
||||
}
|
||||
12
maps/mp/mp_bloc_sh_precache.gsc
Executable file
12
maps/mp/mp_bloc_sh_precache.gsc
Executable file
@@ -0,0 +1,12 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
maps\animated_models\foliage_red_pine_med_sh::main();
|
||||
maps\animated_models\foliage_red_pine_lg_sh::main();
|
||||
maps\animated_models\foliage_red_pine_xl_sh::main();
|
||||
maps\animated_models\foliage_red_pine_xxl_sh::main();
|
||||
maps\animated_models\hanging_apron_wind_medium::main();
|
||||
maps\animated_models\hanging_longsleeve_wind_medium::main();
|
||||
maps\animated_models\hanging_sheet_wind_medium::main();
|
||||
maps\animated_models\hanging_shortsleeve_wind_medium::main();
|
||||
}
|
||||
6065
maps/mp/mp_bog_sh.d3dbsp.ents
Executable file
6065
maps/mp/mp_bog_sh.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
20
maps/mp/mp_bog_sh.gsc
Executable file
20
maps/mp/mp_bog_sh.gsc
Executable file
@@ -0,0 +1,20 @@
|
||||
main()
|
||||
{
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\mp_bog_sh_fx::main();
|
||||
maps\mp\mp_bog_sh_precache::main();
|
||||
|
||||
maps\createfx\mp_bog_sh_fx::main();
|
||||
maps\createart\mp_bog_sh_art::main();
|
||||
|
||||
|
||||
maps\mp\_compass::setupMiniMap("compass_map_mp_bog_sh");
|
||||
|
||||
ambientPlay("ambient_crossfire");
|
||||
|
||||
game["attackers"] = "axis";
|
||||
game["defenders"] = "allies";
|
||||
|
||||
setDvar("compassmaxrange","1800");
|
||||
}
|
||||
16
maps/mp/mp_bog_sh_fx.gsc
Executable file
16
maps/mp/mp_bog_sh_fx.gsc
Executable file
@@ -0,0 +1,16 @@
|
||||
main()
|
||||
{
|
||||
|
||||
level._effect["antiair_runner"] = loadfx ("misc/antiair_runner_night");
|
||||
level._effect["fog_bog_a"] = loadfx ("weather/fog_bog_a");
|
||||
level._effect["firelp_barrel_pm"] = loadfx ("fire/firelp_barrel_pm");
|
||||
level._effect["mp_bog_horizon_flash"] = loadfx ("ambient_runners/mp_bog_horizon_flash");
|
||||
level._effect["battlefield_smokebank_S"] = loadfx ("smoke/battlefield_smokebank_S");
|
||||
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_bog_sh_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
8
maps/mp/mp_bog_sh_precache.gsc
Executable file
8
maps/mp/mp_bog_sh_precache.gsc
Executable file
@@ -0,0 +1,8 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_airconditioner::main();
|
||||
|
||||
maps\animated_models\foliage_tree_palm_bushy_1::main();
|
||||
maps\animated_models\foliage_tree_palm_bushy_2::main();
|
||||
}
|
||||
23
maps/mp/mp_boneyard.gsc
Executable file
23
maps/mp/mp_boneyard.gsc
Executable file
@@ -0,0 +1,23 @@
|
||||
main()
|
||||
{
|
||||
maps\mp\mp_boneyard_precache::main();
|
||||
|
||||
maps\mp\mp_boneyard_fx::main();
|
||||
maps\createart\mp_boneyard_art::main();
|
||||
maps\mp\mp_boneyard_precache::main();
|
||||
maps\mp\_load::main();
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_boneyard" );
|
||||
setdvar( "compassmaxrange", "1700" );
|
||||
|
||||
ambientPlay( "ambient_mp_desert" );
|
||||
|
||||
game[ "attackers" ] = "axis";
|
||||
game[ "defenders" ] = "allies";
|
||||
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.19 );
|
||||
setdvar( "r_lightGridContrast", .4 );
|
||||
|
||||
if ( level.ps3 )
|
||||
setdvar( "sm_sunShadowScale", "0.7" ); // ps3 optimization
|
||||
}
|
||||
26
maps/mp/mp_boneyard_fx.gsc
Executable file
26
maps/mp/mp_boneyard_fx.gsc
Executable file
@@ -0,0 +1,26 @@
|
||||
main()
|
||||
{
|
||||
//ambient fx
|
||||
level._effect[ "tanker_embers" ] = loadfx( "fire/tanker_embers" );
|
||||
level._effect[ "firelp_large_pm_nolight" ] = loadfx( "fire/firelp_large_pm_nolight" );
|
||||
level._effect[ "firelp_med_pm_nolight" ] = loadfx( "fire/firelp_med_pm_nolight" );
|
||||
level._effect[ "firelp_small_pm_a_nolight" ] = loadfx( "fire/firelp_small_pm_a_nolight" );
|
||||
|
||||
level._effect[ "dust_wind_fast" ] = loadfx( "dust/dust_wind_fast" );
|
||||
level._effect[ "dust_wind_slow" ] = loadfx( "dust/dust_wind_slow_yel_loop" );
|
||||
level._effect[ "dust_wind_fast_light" ] = loadfx( "dust/dust_wind_fast_light" );
|
||||
level._effect[ "trash_spiral_runner" ] = loadfx( "misc/trash_spiral_runner" );
|
||||
|
||||
level._effect[ "sand_spray_detail_oriented_runner" ] = loadfx( "dust/sand_spray_detail_oriented_runner" );
|
||||
level._effect[ "sand_spray_cliff_oriented_runner" ] = loadfx( "dust/sand_spray_cliff_oriented_runner" );
|
||||
|
||||
level._effect[ "room_smoke_200" ] = loadfx( "smoke/room_smoke_200" );
|
||||
level._effect[ "room_smoke_400" ] = loadfx( "smoke/room_smoke_400" );
|
||||
level._effect[ "hallway_smoke_light" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_boneyard_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
13
maps/mp/mp_boneyard_precache.gsc
Executable file
13
maps/mp/mp_boneyard_precache.gsc
Executable file
@@ -0,0 +1,13 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_airconditioner::main();
|
||||
common_scripts\_destructible_types_anim_generator::main();
|
||||
common_scripts\_destructible_types_anim_light_fluo_single::main();
|
||||
maps\animated_models\foliage_cod5_tree_jungle_01::main();
|
||||
maps\animated_models\foliage_cod5_tree_jungle_02::main();
|
||||
maps\animated_models\foliage_cod5_tree_jungle_03::main();
|
||||
maps\animated_models\foliage_desertbrush_1::main();
|
||||
maps\animated_models\foliage_pacific_bushtree02::main();
|
||||
maps\animated_models\foliage_tree_oak_1::main();
|
||||
}
|
||||
25
maps/mp/mp_brecourt.gsc
Executable file
25
maps/mp/mp_brecourt.gsc
Executable file
@@ -0,0 +1,25 @@
|
||||
main()
|
||||
{
|
||||
|
||||
maps\mp\mp_brecourt_precache::main();
|
||||
maps\mp\mp_brecourt_fx::main();
|
||||
maps\createart\mp_brecourt_art::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_brecourt" );
|
||||
|
||||
ambientPlay( "ambient_mp_rural" );
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
|
||||
setdvar( "r_specularcolorscale", "1" );
|
||||
|
||||
setdvar( "compassmaxrange", "4000" );
|
||||
|
||||
setdvar( "sm_sunShadowScale", 0.5 );
|
||||
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.11 );
|
||||
setdvar( "r_lightGridContrast", .29 );
|
||||
}
|
||||
16
maps/mp/mp_brecourt_fx.gsc
Executable file
16
maps/mp/mp_brecourt_fx.gsc
Executable file
@@ -0,0 +1,16 @@
|
||||
main()
|
||||
{
|
||||
//ambient fx
|
||||
level._effect[ "insect_trail_runner_icbm" ] = loadfx( "misc/insect_trail_runner_icbm" );
|
||||
level._effect[ "leaves_fall_gentlewind" ] = loadfx( "misc/leaves_fall_gentlewind" );
|
||||
level._effect[ "leaves_ground_gentlewind" ] = loadfx( "misc/leaves_ground_gentlewind" );
|
||||
level._effect[ "ground_fog1200x1200_brecourt" ] = loadfx( "smoke/ground_fog1200x1200_brecourt" );
|
||||
level._effect[ "fog_ground_200" ] = loadfx( "smoke/fog_ground_200" );
|
||||
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_brecourt_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
4
maps/mp/mp_brecourt_precache.gsc
Executable file
4
maps/mp/mp_brecourt_precache.gsc
Executable file
@@ -0,0 +1,4 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
}
|
||||
22
maps/mp/mp_cargoship.gsc
Executable file
22
maps/mp/mp_cargoship.gsc
Executable file
@@ -0,0 +1,22 @@
|
||||
main()
|
||||
{
|
||||
maps\mp\_load::main();
|
||||
maps\mp\mp_cargoship_fx::main();
|
||||
|
||||
maps\createart\mp_cargoship_art::main();
|
||||
maps\createfx\mp_cargoship_fx::main();
|
||||
|
||||
ambientPlay( "ambient_mp_rain" );
|
||||
|
||||
game["attackers"] = "axis";
|
||||
game["defenders"] = "allies";
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_cargoship" );
|
||||
|
||||
setdvar( "r_specularcolorscale", "1.5" );
|
||||
|
||||
level.airstrikeHeightScale = 2;
|
||||
|
||||
setdvar("compassmaxrange","2100");
|
||||
|
||||
}
|
||||
33
maps/mp/mp_cargoship_fx.gsc
Executable file
33
maps/mp/mp_cargoship_fx.gsc
Executable file
@@ -0,0 +1,33 @@
|
||||
main()
|
||||
{
|
||||
thread precache_createfx_fx();
|
||||
if ( !getdvarint( "1106" ) )
|
||||
maps\createfx\mp_cargoship_fx::main();
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
|
||||
level._effect[ "wood" ] = loadfx( "explosions/grenadeExp_wood" );
|
||||
level._effect[ "dust" ] = loadfx( "explosions/grenadeExp_dirt_1" );
|
||||
level._effect[ "brick" ] = loadfx( "explosions/grenadeExp_concrete_1" );
|
||||
level._effect[ "coolaidmanbrick" ] = loadfx( "explosions/grenadeExp_concrete_1" );
|
||||
|
||||
// rainfx
|
||||
level._effect[ "rain_heavy_mist" ] = loadfx( "weather/rain_mp_cargoship" );
|
||||
level._effect[ "lightning" ] = loadfx( "weather/lightning_mp_farm" );
|
||||
level._effect[ "cgoshp_drips" ] = loadfx( "misc/cgoshp_drips" );
|
||||
level._effect[ "cgoshp_drips_a" ] = loadfx( "misc/cgoshp_drips_a" );
|
||||
// level._effect[ "rain_noise" ] = loadfx( "weather/rain_noise" );
|
||||
// level._effect[ "rain_noise_ud" ] = loadfx( "weather/rain_noise_ud" );
|
||||
|
||||
level._effect[ "mp_cargoship_rain_noise01" ] = loadfx( "ambient_runners/mp_cargoship_rain_noise01" );
|
||||
level._effect[ "mp_cargoship_rain_noise02" ] = loadfx( "ambient_runners/mp_cargoship_rain_noise02" );
|
||||
level._effect[ "mp_cargoship_rain_noise03" ] = loadfx( "ambient_runners/mp_cargoship_rain_noise03" );
|
||||
level._effect[ "mp_cargoship_rain_noise04" ] = loadfx( "ambient_runners/mp_cargoship_rain_noise04" );
|
||||
level._effect[ "mp_cargoship_rain_noise05" ] = loadfx( "ambient_runners/mp_cargoship_rain_noise05" );
|
||||
|
||||
level._effect[ "mp_cargoship_rain_noise_ud01" ] = loadfx( "ambient_runners/mp_cargoship_rain_noise_ud01" );
|
||||
level._effect[ "mp_cargoship_rain_noise_ud02" ] = loadfx( "ambient_runners/mp_cargoship_rain_noise_ud02" );
|
||||
level._effect[ "mp_cargoship_rain_noise_ud03" ] = loadfx( "ambient_runners/mp_cargoship_rain_noise_ud03" );
|
||||
}
|
||||
8787
maps/mp/mp_cargoship_sh.d3dbsp.ents
Executable file
8787
maps/mp/mp_cargoship_sh.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
19
maps/mp/mp_cargoship_sh.gsc
Executable file
19
maps/mp/mp_cargoship_sh.gsc
Executable file
@@ -0,0 +1,19 @@
|
||||
main()
|
||||
{
|
||||
maps\mp\_load::main();
|
||||
maps\mp\mp_cargoship_sh_fx::main();
|
||||
|
||||
maps\createart\mp_cargoship_sh_art::main();
|
||||
maps\createfx\mp_cargoship_sh_fx::main();
|
||||
|
||||
ambientPlay( "ambient_mp_snow" );
|
||||
|
||||
game["attackers"] = "axis";
|
||||
game["defenders"] = "allies";
|
||||
|
||||
maps\mp\_compass::setupMiniMap("compass_map_mp_cargoship_sh");
|
||||
|
||||
level.airstrikeHeightScale = 2;
|
||||
|
||||
setdvar("compassmaxrange","2100");
|
||||
}
|
||||
37
maps/mp/mp_cargoship_sh_fx.gsc
Executable file
37
maps/mp/mp_cargoship_sh_fx.gsc
Executable file
@@ -0,0 +1,37 @@
|
||||
main()
|
||||
{
|
||||
thread precache_createfx_fx();
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
|
||||
level._effect["snow_medium_2"] = loadfx ("snow/snow_medium_2");
|
||||
level._effect["snow_wind_sh"] = loadfx ("snow/snow_wind_sh");
|
||||
level._effect["mp_cargoship_rain_noise01"] = loadfx ("ambient_runners/mp_cargoship_rain_noise01");
|
||||
level._effect["mp_cargoship_rain_noise02"] = loadfx ("ambient_runners/mp_cargoship_rain_noise02");
|
||||
level._effect["mp_cargoship_rain_noise03"] = loadfx ("ambient_runners/mp_cargoship_rain_noise03");
|
||||
level._effect["mp_cargoship_rain_noise04"] = loadfx ("ambient_runners/mp_cargoship_rain_noise04");
|
||||
level._effect["mp_cargoship_rain_noise05"] = loadfx ("ambient_runners/mp_cargoship_rain_noise05");
|
||||
level._effect["mp_cargoship_rain_noise_ud01"] = loadfx ("ambient_runners/mp_cargoship_rain_noise_ud01");
|
||||
level._effect["mp_cargoship_rain_noise_ud02"] = loadfx ("ambient_runners/mp_cargoship_rain_noise_ud02");
|
||||
level._effect["mp_cargoship_rain_noise_ud03"] = loadfx ("ambient_runners/mp_cargoship_rain_noise_ud03");
|
||||
level._effect["cgoshp_drips_a"] = loadfx ("misc/cgoshp_drips_a");
|
||||
level._effect["cgoshp_drips"] = loadfx ("misc/cgoshp_drips");
|
||||
|
||||
level._effect["snow_light"] = loadfx ("snow/snow_light");
|
||||
level._effect["snow_light_cargoship_sh"] = loadfx ("snow/snow_light_cargoship_sh");
|
||||
level._effect["snow_spiral_runner_sh"] = loadfx ("snow/snow_spiral_runner_sh");
|
||||
level._effect["snow_spray_detail_oriented_runner_sh"] = loadfx ("snow/snow_spray_detail_oriented_runner_sh");
|
||||
level._effect["snow_spray_detail_oriented_large_runner_sh"] = loadfx ("snow/snow_spray_detail_oriented_large_runner_sh");
|
||||
level._effect["snow_spray_detail_oriented_runner_400x400_sh"] = loadfx ("snow/snow_spray_detail_oriented_runner_400x400_sh");
|
||||
level._effect[ "tree_snow_fallen_heavy" ] = loadfx( "snow/tree_snow_fallen_heavy" );
|
||||
level._effect[ "tree_snow_dump" ] = loadfx( "snow/tree_snow_dump_sh" );
|
||||
level._effect[ "tree_snow_fallen_small" ] = loadfx( "snow/tree_snow_fallen_small" );
|
||||
level._effect[ "snow_clouds_sh" ] = loadfx( "snow/snow_clouds_sh" );
|
||||
level._effect["fire_cargo"] = loadfx ("fire/fire_cargo");
|
||||
level._effect["red_light"] = loadfx ("fire/red_light");
|
||||
level._effect["codo_fx_ray_ceiling_amber_dim_sm"] = loadfx ("env/light/codo_fx_ray_ceiling_amber_dim_sm");
|
||||
level._effect["codo_fx_ray_ceiling_amber_dim_sm01"] = loadfx ("env/light/codo_fx_ray_ceiling_amber_dim_sm01");
|
||||
level._effect["cargo_redlight"] = loadfx ("env/light/cargo_redlight");
|
||||
}
|
||||
28
maps/mp/mp_checkpoint.gsc
Executable file
28
maps/mp/mp_checkpoint.gsc
Executable file
@@ -0,0 +1,28 @@
|
||||
main()
|
||||
{
|
||||
maps\mp\mp_checkpoint_precache::main();
|
||||
maps\createart\mp_checkpoint_art::main();
|
||||
maps\mp\mp_checkpoint_fx::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_checkpoint" );
|
||||
|
||||
// raise up planes to avoid them flying through buildings
|
||||
level.airstrikeHeightScale = 1.5;
|
||||
|
||||
ambientPlay( "ambient_mp_urban" );
|
||||
|
||||
game[ "attackers" ] = "axis";
|
||||
game[ "defenders" ] = "allies";
|
||||
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.27 );
|
||||
setdvar( "r_lightGridContrast", 1 );
|
||||
|
||||
setdvar( "r_specularcolorscale", "2" );
|
||||
|
||||
setdvar( "compassmaxrange", "1600" );
|
||||
|
||||
|
||||
}
|
||||
|
||||
21
maps/mp/mp_checkpoint_fx.gsc
Executable file
21
maps/mp/mp_checkpoint_fx.gsc
Executable file
@@ -0,0 +1,21 @@
|
||||
main()
|
||||
{
|
||||
//ambient fx
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm_a" ] = loadfx( "fire/firelp_small_pm_a" );
|
||||
|
||||
level._effect[ "room_smoke_200" ] = loadfx( "smoke/room_smoke_200" );
|
||||
level._effect[ "room_smoke_400" ] = loadfx( "smoke/room_smoke_400" );
|
||||
level._effect[ "hallway_smoke_light" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
level._effect[ "ground_smoke_1200x1200" ] = loadfx( "smoke/ground_smoke1200x1200" );
|
||||
|
||||
level._effect[ "dust_wind_fast" ] = loadfx( "dust/dust_wind_fast_light" );
|
||||
level._effect[ "trash_spiral_runner" ] = loadfx( "misc/trash_spiral_runner" );
|
||||
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_checkpoint_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
12
maps/mp/mp_checkpoint_precache.gsc
Executable file
12
maps/mp/mp_checkpoint_precache.gsc
Executable file
@@ -0,0 +1,12 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_airconditioner::main();
|
||||
common_scripts\_destructible_types_anim_chicken::main();
|
||||
common_scripts\_destructible_types_anim_light_fluo_single::main();
|
||||
common_scripts\_destructible_types_anim_me_fanceil1_spin::main();
|
||||
maps\animated_models\hanging_apron_wind_medium::main();
|
||||
maps\animated_models\hanging_longsleeve_wind_medium::main();
|
||||
maps\animated_models\hanging_sheet_wind_medium::main();
|
||||
maps\animated_models\hanging_shortsleeve_wind_medium::main();
|
||||
}
|
||||
4786
maps/mp/mp_compact.d3dbsp.ents
Executable file
4786
maps/mp/mp_compact.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
149
maps/mp/mp_compact.gsc
Executable file
149
maps/mp/mp_compact.gsc
Executable file
@@ -0,0 +1,149 @@
|
||||
#include maps\mp\_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\mp\mp_compact_precache::main();
|
||||
maps\createart\mp_compact_art::main();
|
||||
maps\mp\mp_compact_fx::main();
|
||||
|
||||
maps\mp\_destructible_dlc::main(); // call before _load
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_compact" );
|
||||
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.10 );
|
||||
setdvar( "r_lightGridContrast", 1 );
|
||||
setdvar( "compassmaxrange", "1700" );
|
||||
|
||||
ambientPlay( "ambient_mp_compact" );
|
||||
|
||||
game["attackers"] = "allies";
|
||||
game["defenders"] = "axis";
|
||||
|
||||
//doMagnet();
|
||||
|
||||
//level thread crusherControl();
|
||||
}
|
||||
|
||||
doMagnet()
|
||||
{
|
||||
strength = 18000;
|
||||
if ( getdvar( "scr_compact_magnet_strength" ) != "" )
|
||||
strength = getdvarfloat( "scr_compact_magnet_strength" );
|
||||
if ( strength == 0 )
|
||||
return;
|
||||
|
||||
radius = 250;
|
||||
if ( getdvar( "scr_compact_magnet_radius" ) != "" )
|
||||
radius = getdvarfloat( "scr_compact_magnet_radius" );
|
||||
if ( radius <= 0 )
|
||||
return;
|
||||
|
||||
magnet = getent( "magnetorg", "targetname" );
|
||||
Missile_CreateAttractorEnt( magnet, strength, radius );
|
||||
}
|
||||
|
||||
crusherControl()
|
||||
{
|
||||
//button = getEnt( "button01", "targetname" );
|
||||
crusher = getEnt( "crusher01", "targetname" );
|
||||
|
||||
crushTop = getEnt( "crushtop01", "targetname" );
|
||||
playerDetector = getEnt( "onelevator", "targetname" );
|
||||
|
||||
upOrigin = crusher getOrigin();
|
||||
downOrigin = upOrigin + (0,0,-128);
|
||||
|
||||
//button.origin = button.origin + (0,0,20);
|
||||
|
||||
crushTop thread triggerLinkThread( crusher );
|
||||
crushTop thread crushEmThread();
|
||||
playerDetector thread triggerLinkThread( crusher );
|
||||
playerDetector thread playerDetectorThread();
|
||||
|
||||
//precacheString( &"MP_PRESS_TO_RAPPEL" );
|
||||
//button setHintString( &"MP_PRESS_TO_RAPPEL" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
/*
|
||||
button makeUsable();
|
||||
button waittill ( "trigger", player );
|
||||
button playSound( "vending_machine_button_press" );
|
||||
button makeUnusable();
|
||||
*/
|
||||
|
||||
// move down
|
||||
crusher playSound( "elev_run_start" );
|
||||
crusher playLoopSound( "elev_run_loop" );
|
||||
|
||||
crusher moveTo( downOrigin, 10.0 );
|
||||
crusher waittill ( "movedone" );
|
||||
|
||||
crusher stopLoopSound( "elev_run_loop" );
|
||||
crusher playSound( "elev_run_end" );
|
||||
|
||||
/*
|
||||
button makeUsable();
|
||||
button waittill ( "trigger", player );
|
||||
button playSound( "vending_machine_button_press" );
|
||||
button makeUnusable();
|
||||
*/
|
||||
|
||||
wait 2;
|
||||
|
||||
// wait until a player gets on
|
||||
playerDetector waittill( "trigger", player );
|
||||
|
||||
// move up
|
||||
crusher playSound( "elev_run_start" );
|
||||
crusher playLoopSound( "elev_run_loop" );
|
||||
|
||||
crusher moveTo( upOrigin, 10.0 );
|
||||
crusher waittill ( "movedone" );
|
||||
|
||||
crusher stopLoopSound( "elev_run_loop" );
|
||||
crusher playSound( "elev_run_end" );
|
||||
|
||||
wait 2;
|
||||
|
||||
// wait until no players are on
|
||||
while ( gettime() - playerDetector.triggertime <= 2000 )
|
||||
wait .05;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
triggerLinkThread( crusher )
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
self.origin = crusher.origin;
|
||||
|
||||
wait ( 0.05 );
|
||||
}
|
||||
}
|
||||
|
||||
playerDetectorThread()
|
||||
{
|
||||
self.triggertime = gettime();
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "trigger", player );
|
||||
self.triggertime = gettime();
|
||||
}
|
||||
}
|
||||
|
||||
crushEmThread()
|
||||
{
|
||||
crushBottom = getEnt( "crushbtm01", "targetname" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill ( "trigger", player );
|
||||
|
||||
if ( player isTouching( crushBottom ) && isReallyAlive( player ) )
|
||||
player _suicide();
|
||||
}
|
||||
}
|
||||
19
maps/mp/mp_compact_fx.gsc
Executable file
19
maps/mp/mp_compact_fx.gsc
Executable file
@@ -0,0 +1,19 @@
|
||||
main()
|
||||
{
|
||||
|
||||
level._effect[ "firelp_large_pm" ] = loadfx( "fire/firelp_large_pm" );
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
|
||||
level._effect[ "snow_spray_detail_oriented_runner" ] = loadfx( "snow/snow_spray_detail_oriented_runner" );
|
||||
level._effect[ "snow_spiral_runner" ] = loadfx( "snow/snow_spiral_runner" );
|
||||
level._effect[ "room_smoke_200" ] = loadfx( "smoke/room_smoke_200" );
|
||||
|
||||
level._effect[ "falling_junk_ring_runner" ] = loadfx( "misc/falling_junk_ring_runner" );
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_compact_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
10
maps/mp/mp_compact_precache.gsc
Executable file
10
maps/mp/mp_compact_precache.gsc
Executable file
@@ -0,0 +1,10 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_generator::main();
|
||||
common_scripts\_destructible_types_anim_light_fluo_on::main();
|
||||
common_scripts\_destructible_types_anim_light_fluo_single::main();
|
||||
common_scripts\_destructible_types_anim_lockers::main();
|
||||
common_scripts\_destructible_types_anim_wallfan::main();
|
||||
maps\animated_models\tarp_on_cars::main();
|
||||
}
|
||||
5151
maps/mp/mp_complex.d3dbsp.ents
Executable file
5151
maps/mp/mp_complex.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
26
maps/mp/mp_complex.gsc
Executable file
26
maps/mp/mp_complex.gsc
Executable file
@@ -0,0 +1,26 @@
|
||||
#include maps\mp\_utility;
|
||||
#include common_scripts\utility;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\mp\mp_complex_precache::main();
|
||||
maps\mp\mp_complex_fx::main();
|
||||
maps\createart\mp_complex_art::main();
|
||||
|
||||
maps\mp\_destructible_dlc::main(); // call before _load
|
||||
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_complex" );
|
||||
|
||||
ambientPlay( "ambient_mp_complex" );
|
||||
|
||||
// raise up planes to avoid them flying through buildings
|
||||
level.airstrikeHeightScale = 2;
|
||||
|
||||
game[ "attackers" ] = "allies";
|
||||
game[ "defenders" ] = "axis";
|
||||
|
||||
setdvar( "compassmaxrange", "1500" );
|
||||
|
||||
}
|
||||
33
maps/mp/mp_complex_fx.gsc
Executable file
33
maps/mp/mp_complex_fx.gsc
Executable file
@@ -0,0 +1,33 @@
|
||||
main()
|
||||
{
|
||||
|
||||
level._effect[ "battlefield_smokebank_S_warm" ] = loadfx( "smoke/battlefield_smokebank_S_warm" );
|
||||
level._effect[ "battlefield_smokebank_S_warm_thick" ] = loadfx( "smoke/battlefield_smokebank_S_warm_thick" );
|
||||
|
||||
level._effect[ "firelp_large_pm" ] = loadfx( "fire/firelp_large_pm" );
|
||||
level._effect[ "firelp_large_pm_far" ] = loadfx( "fire/firelp_large_pm_far" );
|
||||
level._effect[ "firelp_small_pm_complex" ] = loadfx( "fire/firelp_small_pm_complex" );
|
||||
level._effect[ "fire_falling_runner_point_infrequent_mp" ] = loadfx( "fire/fire_falling_runner_point_infrequent_mp" );
|
||||
|
||||
level._effect[ "insect_trail_runner_icbm" ] = loadfx( "misc/insect_trail_runner_icbm" );
|
||||
level._effect[ "insects_carcass_runner" ] = loadfx( "misc/insects_carcass_runner" );
|
||||
level._effect[ "insects_light_invasion" ] = loadfx( "misc/insects_light_complex" );
|
||||
|
||||
level._effect[ "leaves_fall_gentlewind" ] = loadfx( "misc/leaves_fall_gentlewind" );
|
||||
level._effect[ "leaves_ground_gentlewind" ] = loadfx( "misc/leaves_ground_gentlewind" );
|
||||
level._effect[ "leaves_spiral_runner" ] = loadfx( "misc/leaves_spiral_runner" );
|
||||
|
||||
level._effect[ "powerline_runner_cheap_complex" ] = loadfx( "explosions/powerline_runner_cheap_complex" );
|
||||
|
||||
level._effect[ "room_smoke_200" ] = loadfx( "smoke/room_smoke_200" );
|
||||
level._effect[ "smoke_plume02" ] = loadfx( "smoke/smoke_plume02" );
|
||||
|
||||
level._effect[ "trash_spiral_runner" ] = loadfx( "misc/trash_spiral_runner" );
|
||||
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_complex_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
16
maps/mp/mp_complex_precache.gsc
Executable file
16
maps/mp/mp_complex_precache.gsc
Executable file
@@ -0,0 +1,16 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_light_fluo_on::main();
|
||||
common_scripts\_destructible_types_anim_light_fluo_single::main();
|
||||
common_scripts\_destructible_types_anim_me_fanceil1_spin::main();
|
||||
common_scripts\_destructible_types_anim_security_camera::main();
|
||||
maps\animated_models\foliage_pacific_fern01::main();
|
||||
maps\animated_models\foliage_pacific_fern02::main();
|
||||
maps\animated_models\foliage_pacific_palms06::main();
|
||||
maps\animated_models\foliage_pacific_palms08::main();
|
||||
maps\animated_models\foliage_pacific_tropic_shrub01::main();
|
||||
maps\animated_models\foliage_tree_green_pine_lg_a::main();
|
||||
maps\animated_models\foliage_tree_green_pine_lg_b::main();
|
||||
maps\animated_models\parachute_roof_hanging::main();
|
||||
}
|
||||
4940
maps/mp/mp_crash.d3dbsp.ents
Executable file
4940
maps/mp/mp_crash.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
21
maps/mp/mp_crash.gsc
Executable file
21
maps/mp/mp_crash.gsc
Executable file
@@ -0,0 +1,21 @@
|
||||
main()
|
||||
{
|
||||
maps\mp\mp_crash_precache::main();
|
||||
maps\mp\mp_crash_fx::main();
|
||||
maps\createart\mp_crash_art::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_crash_dlc" );
|
||||
|
||||
AmbientPlay( "ambient_mp_crash" );
|
||||
|
||||
game["attackers"] = "axis";
|
||||
game["defenders"] = "allies";
|
||||
|
||||
SetDvar( "r_specularcolorscale", "1" );
|
||||
SetDvar( "compassmaxrange", "1600" );
|
||||
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.10 );
|
||||
setdvar( "r_lightGridContrast", 1 );
|
||||
}
|
||||
17
maps/mp/mp_crash_fx.gsc
Executable file
17
maps/mp/mp_crash_fx.gsc
Executable file
@@ -0,0 +1,17 @@
|
||||
main()
|
||||
{
|
||||
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm_nodistort" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
level._effect[ "firelp_small_pm_a" ] = loadfx( "fire/firelp_small_pm_a" );
|
||||
level._effect[ "dust_wind_fast" ] = loadfx( "dust/dust_wind_fast_paper" );
|
||||
level._effect[ "dust_wind_slow" ] = loadfx( "dust/dust_wind_slow_paper" );
|
||||
level._effect[ "dust_wind_spiral" ] = loadfx( "misc/trash_spiral_runner" );
|
||||
level._effect[ "battlefield_smokebank_S" ] = loadfx( "smoke/battlefield_smokebank_S" );
|
||||
level._effect[ "hallway_smoke_light" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_crash_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
10
maps/mp/mp_crash_precache.gsc
Executable file
10
maps/mp/mp_crash_precache.gsc
Executable file
@@ -0,0 +1,10 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_airconditioner::main();
|
||||
common_scripts\_destructible_types_anim_light_fluo_single::main();
|
||||
common_scripts\_destructible_types_anim_me_fanceil1_spin::main();
|
||||
maps\animated_models\foliage_tree_palm_bushy_3::main();
|
||||
maps\animated_models\foliage_tree_river_birch_med_a::main();
|
||||
maps\animated_models\foliage_tree_river_birch_xl_a::main();
|
||||
}
|
||||
12473
maps/mp/mp_crash_tropical.d3dbsp.ents
Executable file
12473
maps/mp/mp_crash_tropical.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
24
maps/mp/mp_crash_tropical.gsc
Executable file
24
maps/mp/mp_crash_tropical.gsc
Executable file
@@ -0,0 +1,24 @@
|
||||
main()
|
||||
{
|
||||
maps\mp\mp_crash_tropical_fx::main();
|
||||
maps\createfx\mp_crash_tropical_fx::main();
|
||||
maps\mp\mp_crash_tropical_precache::main();
|
||||
maps\createart\mp_crash_tropical_art::main();
|
||||
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_crash_dlc" );
|
||||
setdvar( "compassmaxrange", "1600" );
|
||||
|
||||
AmbientPlay( "ambient_mp_favela" );
|
||||
|
||||
game["attackers"] = "axis";
|
||||
game["defenders"] = "allies";
|
||||
|
||||
setdvar( "r_specularcolorscale", "2.117" );
|
||||
setdvar( "r_diffusecolorscale", "1.35" );
|
||||
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1.10 );
|
||||
setdvar( "r_lightGridContrast", 1 );
|
||||
}
|
||||
36
maps/mp/mp_crash_tropical_fx.gsc
Executable file
36
maps/mp/mp_crash_tropical_fx.gsc
Executable file
@@ -0,0 +1,36 @@
|
||||
main()
|
||||
{
|
||||
|
||||
level._effect[ "firelp_med_pm" ] = loadfx( "fire/firelp_med_pm_nodistort" );
|
||||
level._effect[ "firelp_small_pm" ] = loadfx( "fire/firelp_small_pm" );
|
||||
level._effect[ "fog_ground_200_heavy_rundown_tropical" ] = loadfx( "smoke/fog_ground_200_heavy_rundown_tropical" );
|
||||
level._effect[ "rain_mp_storm" ] = loadfx( "weather/rain_mp_storm" );
|
||||
level._effect[ "firelp_small_pm_a" ] = loadfx( "fire/firelp_small_pm_a" );
|
||||
level._effect[ "dust_wind_fast" ] = loadfx( "dust/dust_wind_fast_paper_tropical" );
|
||||
level._effect[ "dust_wind_slow" ] = loadfx( "dust/dust_wind_slow_paper_tropical" );
|
||||
level._effect[ "dust_wind_spiral" ] = loadfx( "misc/trash_spiral_runner_tropical" );
|
||||
level._effect[ "moth_runner" ] = loadfx( "misc/moth_runner" );
|
||||
level._effect[ "battlefield_smokebank_S" ] = loadfx( "smoke/battlefield_smokebank_S_tropical" );
|
||||
level._effect[ "hallway_smoke_light" ] = loadfx( "smoke/hallway_smoke_light" );
|
||||
//level._effect[ "extraction_smoke" ] = loadfx( "smoke/signal_smoke_green" );
|
||||
|
||||
/*
|
||||
//level._effect[ "airplane_crash_embers" ] = LoadFX( "fire/airplane_crash_embers" );
|
||||
//level._effect[ "firelp_small_pm_a_nolight" ] = LoadFX( "fire/firelp_small_pm_a_nolight" );
|
||||
//level._effect[ "firelp_small_pm_nolight" ] = LoadFX( "fire/firelp_small_pm_nolight" );
|
||||
//level._effect["firelp_med_pm"] = LoadFX( "fire/firelp_med_pm");
|
||||
//level._effect[ "ground_fog" ] = LoadFX( "dust/ground_fog" );
|
||||
//level._effect[ "ground_fog_a" ] = LoadFX( "dust/ground_fog_a" );
|
||||
//level._effect[ "ground_fog_b" ] = LoadFX( "dust/ground_fog_b" );
|
||||
//level._effect[ "missile_explosion" ] = loadfx( "explosions/small_vehicle_explosion" );
|
||||
//level._effect[ "player_death_explosion" ] = loadfx( "explosions/player_death_explosion" );
|
||||
//level._effect[ "green_flare" ] = loadfx( "misc/handflare_green" );
|
||||
*/
|
||||
|
||||
/#
|
||||
if ( common_scripts\utility::shouldRunServerSideEffects() )
|
||||
maps\createfx\mp_crash_tropical_fx::main();
|
||||
|
||||
#/
|
||||
|
||||
}
|
||||
18
maps/mp/mp_crash_tropical_precache.gsc
Executable file
18
maps/mp/mp_crash_tropical_precache.gsc
Executable file
@@ -0,0 +1,18 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
common_scripts\_destructible_types_anim_light_fluo_single::main();
|
||||
|
||||
//maps\animated_models\foliage_tree_palm_tall_3::main();
|
||||
maps\animated_models\foliage_tree_palm_med_1::main();
|
||||
maps\animated_models\foliage_tree_palm_med_2::main();
|
||||
maps\animated_models\foliage_tree_palm_med_2_tropical::main();
|
||||
maps\animated_models\foliage_pacific_fern01::main();
|
||||
maps\animated_models\foliage_tree_palm_bushy_3::main();
|
||||
maps\animated_models\foliage_pacific_palms06::main();
|
||||
|
||||
maps\animated_models\hanging_apron_wind_medium::main();
|
||||
maps\animated_models\hanging_sheet_wind_medium::main();
|
||||
maps\animated_models\hanging_longsleeve_wind_medium::main();
|
||||
maps\animated_models\hanging_shortsleeve_wind_medium::main();
|
||||
}
|
||||
8628
maps/mp/mp_cross_fire.d3dbsp.ents
Executable file
8628
maps/mp/mp_cross_fire.d3dbsp.ents
Executable file
File diff suppressed because it is too large
Load Diff
21
maps/mp/mp_cross_fire.gsc
Executable file
21
maps/mp/mp_cross_fire.gsc
Executable file
@@ -0,0 +1,21 @@
|
||||
main()
|
||||
{
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\mp_cross_fire_fx::main();
|
||||
maps\mp\mp_cross_fire_precache::main();
|
||||
|
||||
maps\createfx\mp_cross_fire_fx::main();
|
||||
maps\createart\mp_cross_fire_art::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_cross_fire" );
|
||||
|
||||
ambientPlay("ambient_trainer_ext2");
|
||||
|
||||
game[ "attackers" ] = "axis";
|
||||
game[ "defenders" ] = "allies";
|
||||
|
||||
setdvar( "r_specularcolorscale", "4.5" );
|
||||
|
||||
setdvar( "compassmaxrange", "2100" );
|
||||
}
|
||||
26
maps/mp/mp_cross_fire_fx.gsc
Executable file
26
maps/mp/mp_cross_fire_fx.gsc
Executable file
@@ -0,0 +1,26 @@
|
||||
main()
|
||||
{
|
||||
level._effect[ "wood" ] = loadfx( "explosions/grenadeExp_wood" );
|
||||
level._effect[ "dust" ] = loadfx( "explosions/grenadeExp_dirt_1" );
|
||||
level._effect[ "brick" ] = loadfx( "explosions/grenadeExp_concrete_1" );
|
||||
|
||||
//Ambient FX
|
||||
level._effect["paper_falling"] = loadfx( "misc/paper_falling" );
|
||||
level._effect["battlefield_smokebank_S"] = loadfx( "smoke/battlefield_smokebank_S" );
|
||||
level._effect["thin_black_smoke_M"] = loadfx( "smoke/thin_black_smoke_M" );
|
||||
level._effect["thin_black_smoke_L"] = loadfx( "smoke/thin_black_smoke_L" );
|
||||
level._effect["dust_wind_slow"] = loadfx( "dust/dust_wind_slow_yel_loop" );
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_cross_fire_fx::main();
|
||||
#/
|
||||
}
|
||||
|
||||
/*
|
||||
/#
|
||||
if ( common_scripts\utility::shouldRunServerSideEffects() )
|
||||
maps\createfx\mp_cross_fire_fx::main();
|
||||
#/
|
||||
}
|
||||
*/
|
||||
10
maps/mp/mp_cross_fire_precache.gsc
Executable file
10
maps/mp/mp_cross_fire_precache.gsc
Executable file
@@ -0,0 +1,10 @@
|
||||
// this file is autogenerated, modifying parameters is ok, other lines will be removed.
|
||||
main()
|
||||
{
|
||||
|
||||
common_scripts\_destructible_types_anim_airconditioner::main();
|
||||
|
||||
maps\animated_models\foliage_tree_palm_bushy_1::main();
|
||||
maps\animated_models\foliage_tree_palm_tall_1::main();
|
||||
|
||||
}
|
||||
24
maps/mp/mp_derail.gsc
Executable file
24
maps/mp/mp_derail.gsc
Executable file
@@ -0,0 +1,24 @@
|
||||
#include maps\mp\_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
maps\mp\mp_derail_precache::main();
|
||||
maps\mp\mp_derail_fx::main();
|
||||
maps\createart\mp_derail_art::main();
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\_compass::setupMiniMap( "compass_map_mp_derail" );
|
||||
|
||||
ambientPlay( "ambient_mp_snow" );
|
||||
|
||||
game[ "attackers" ] = "axis";
|
||||
game[ "defenders" ] = "allies";
|
||||
|
||||
setdvar( "r_specularcolorscale", "2.3" );
|
||||
setdvar( "compassmaxrange", "4000" );
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1 );
|
||||
setdvar( "r_lightGridContrast", .4 );
|
||||
|
||||
thread killTrigger( (2077, -91, 0), 75, 20 );
|
||||
}
|
||||
17
maps/mp/mp_derail_fx.gsc
Executable file
17
maps/mp/mp_derail_fx.gsc
Executable file
@@ -0,0 +1,17 @@
|
||||
main()
|
||||
{
|
||||
//Ambient fx
|
||||
level._effect[ "snow_spray_detail_oriented_runner" ] = loadfx( "snow/snow_spray_detail_oriented_runner" );
|
||||
level._effect[ "snow_spray_detail_oriented_runner_large" ] = loadfx( "snow/snow_spray_detail_oriented_large_runner" );
|
||||
level._effect[ "snow_clouds" ] = loadfx( "snow/snow_clouds_mp_derail" );
|
||||
level._effect[ "room_smoke_200" ] = loadfx( "smoke/room_smoke_200" );
|
||||
level._effect[ "snow_spiral_runner" ] = loadfx( "snow/snow_spiral_runner" );
|
||||
|
||||
|
||||
|
||||
/#
|
||||
if ( getdvar( "clientSideEffects" ) != "1" )
|
||||
maps\createfx\mp_derail_fx::main();
|
||||
#/
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user