This commit is contained in:
2026-05-08 19:19:42 +02:00
parent 0e9585de9a
commit 2a51a0e0c2
892 changed files with 0 additions and 2 deletions

41
maps/mp/af_caves.gsc Executable file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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();
}

View 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

File diff suppressed because it is too large Load Diff

View 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

File diff suppressed because it is too large Load Diff

683
maps/mp/gametypes/_rank.gsc Executable file
View 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
View 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
View File

@@ -0,0 +1 @@
"Gungame"

View 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"] );
}

View File

@@ -0,0 +1 @@
"Team Gungame"

24
maps/mp/gulag.gsc Executable file
View 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
View 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
View 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
View 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
View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

27
maps/mp/mp_abandon.gsc Executable file
View 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
View 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();
#/
}

View 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
View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

20
maps/mp/mp_bloc.gsc Executable file
View 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
View 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

File diff suppressed because it is too large Load Diff

23
maps/mp/mp_bloc_sh.gsc Executable file
View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

20
maps/mp/mp_bog_sh.gsc Executable file
View 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
View 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
View 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
View 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
View 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();
#/
}

View 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
View 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
View 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();
#/
}

View 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
View 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
View 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" );
}

File diff suppressed because it is too large Load Diff

19
maps/mp/mp_cargoship_sh.gsc Executable file
View 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
View 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
View 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
View 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();
#/
}

View 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

File diff suppressed because it is too large Load Diff

149
maps/mp/mp_compact.gsc Executable file
View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

26
maps/mp/mp_complex.gsc Executable file
View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

21
maps/mp/mp_crash.gsc Executable file
View 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
View 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
View 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();
}

File diff suppressed because it is too large Load Diff

24
maps/mp/mp_crash_tropical.gsc Executable file
View 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 );
}

View 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();
#/
}

View 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

File diff suppressed because it is too large Load Diff

21
maps/mp/mp_cross_fire.gsc Executable file
View 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
View 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();
#/
}
*/

View 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
View 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
View 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