mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-11 19:27:57 -05:00
Reorganized the scripts so its easier to search thru.
This commit is contained in:
42
Multiplayer Maps/mp_bridge/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_bridge/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
1405
Multiplayer Maps/mp_bridge/maps/mp/createfx/mp_bridge_fx.gsc
Normal file
1405
Multiplayer Maps/mp_bridge/maps/mp/createfx/mp_bridge_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
202
Multiplayer Maps/mp_bridge/maps/mp/mp_bridge.gsc
Normal file
202
Multiplayer Maps/mp_bridge/maps/mp/mp_bridge.gsc
Normal file
@ -0,0 +1,202 @@
|
||||
#include maps/mp/gametypes/_deathicons;
|
||||
#include maps/mp/gametypes/_spawning;
|
||||
#include maps/mp/_compass;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
maps/mp/mp_bridge_fx::main();
|
||||
precachemodel( "collision_physics_128x128x10" );
|
||||
precachemodel( "collision_missile_128x128x10" );
|
||||
precachemodel( "collision_physics_64x64x10" );
|
||||
precachemodel( "collision_missile_32x32x128" );
|
||||
precachemodel( "collision_clip_32x32x10" );
|
||||
precachemodel( "p6_bri_construction_tarp" );
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_bridge_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_bridge" );
|
||||
setdvar( "compassmaxrange", "2100" );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
spawncollision( "collision_physics_128x128x10", "collider", ( -1190, -876, -76 ), ( 342, 2,63, -90 ) );
|
||||
barricade1 = spawn( "script_model", ( 850,5, -812,5, 0 ) );
|
||||
barricade1.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
barricade1 setmodel( "p6_bri_construction_tarp" );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2182, -185,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2310, -185,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2438, -185,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2182, -57,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2310, -57,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2438, -57,5, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2366,5, 91, -142 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1401,5, 759,5, -158,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1309, 726,5, -158,5 ), ( 2,4, 359,9, -91,70473 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1401,5, 634, -154,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1373,5, 634, -154,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1401,5, 559,5, -154,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1422, 375,5, -141,5 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1322,5, 438, -146 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1304,5, 438, -146 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1322,5, 378,5, -144 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 396, -144 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1357, 248, -139 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 285, -139 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1230, 248, -139 ), vectorScale( ( 0, 0, 1 ), 92,40023 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( 1370, -697, -134 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( 2432, -44, 30,5 ), ( 0, 270, -90 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( 2113,5, -44, 30,5 ), ( 0, 270, -90 ) );
|
||||
spawncollision( "collision_missile_32x32x128", "collider", ( -2292, -174, -7,5 ), vectorScale( ( 0, 0, 1 ), 270 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2219,5, -184,5, 37 ), vectorScale( ( 0, 0, 1 ), 2,9 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -2197,5, -184,5, 33 ), vectorScale( ( 0, 0, 1 ), 23,9 ) );
|
||||
spawncollision( "collision_clip_32x32x10", "collider", ( 1923,5, 553,5, 43,5 ), ( 1,265, 43,3, -90 ) );
|
||||
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
|
||||
registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" );
|
||||
level thread destructible_lights();
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 2 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
level.ragdoll_override = ::ragdoll_override;
|
||||
level.overrideplayerdeathwatchtimer = ::leveloverridetime;
|
||||
level.useintermissionpointsonwavespawn = ::useintermissionpointsonwavespawn;
|
||||
level thread pathing_fix();
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars );
|
||||
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
|
||||
}
|
||||
|
||||
destructible_lights()
|
||||
{
|
||||
wait 0,05;
|
||||
destructibles = getentarray( "destructible", "targetname" );
|
||||
_a125 = destructibles;
|
||||
_k125 = getFirstArrayKey( _a125 );
|
||||
while ( isDefined( _k125 ) )
|
||||
{
|
||||
destructible = _a125[ _k125 ];
|
||||
if ( destructible.destructibledef == "veh_t6_dlc_police_car_destructible" )
|
||||
{
|
||||
destructible thread destructible_think( "police_car_lights" );
|
||||
destructible setclientfield( "police_car_lights", 1 );
|
||||
}
|
||||
_k125 = getNextArrayKey( _a125, _k125 );
|
||||
}
|
||||
}
|
||||
|
||||
destructible_think( clientfield )
|
||||
{
|
||||
self waittill_any( "death", "destructible_base_piece_death" );
|
||||
self setclientfield( clientfield, 0 );
|
||||
}
|
||||
|
||||
ragdoll_override( idamage, smeansofdeath, sweapon, shitloc, vdir, vattackerorigin, deathanimduration, einflictor, ragdoll_jib, body )
|
||||
{
|
||||
if ( smeansofdeath == "MOD_FALLING" )
|
||||
{
|
||||
deathanim = body getcorpseanim();
|
||||
startfrac = deathanimduration / 1000;
|
||||
if ( animhasnotetrack( deathanim, "start_ragdoll" ) )
|
||||
{
|
||||
times = getnotetracktimes( deathanim, "start_ragdoll" );
|
||||
if ( isDefined( times ) )
|
||||
{
|
||||
startfrac = times[ 0 ];
|
||||
}
|
||||
}
|
||||
self.body = body;
|
||||
if ( !isDefined( self.switching_teams ) )
|
||||
{
|
||||
thread maps/mp/gametypes/_deathicons::adddeathicon( body, self, self.team, 5 );
|
||||
}
|
||||
self thread water_spash();
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
water_spash()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
self endon( "spawned_player" );
|
||||
self endon( "joined_team" );
|
||||
self endon( "joined_spectators" );
|
||||
trace = groundtrace( self.origin, self.origin - vectorScale( ( 0, 0, 1 ), 2048 ), 0, self.body );
|
||||
if ( trace[ "surfacetype" ] == "water" )
|
||||
{
|
||||
while ( self.origin[ 2 ] > ( trace[ "position" ][ 2 ] + 5 ) )
|
||||
{
|
||||
wait 0,05;
|
||||
}
|
||||
bone = self gettagorigin( "j_spinelower" );
|
||||
origin = ( bone[ 0 ], bone[ 1 ], trace[ "position" ][ 2 ] + 2,5 );
|
||||
self playsound( "mpl_splash_death" );
|
||||
playfx( level._effect[ "water_splash" ], origin );
|
||||
}
|
||||
}
|
||||
|
||||
leveloverridetime( defaulttime )
|
||||
{
|
||||
if ( self isinwater() )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return defaulttime;
|
||||
}
|
||||
|
||||
useintermissionpointsonwavespawn()
|
||||
{
|
||||
return self isinwater();
|
||||
}
|
||||
|
||||
isinwater()
|
||||
{
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a212 = triggers;
|
||||
_k212 = getFirstArrayKey( _a212 );
|
||||
while ( isDefined( _k212 ) )
|
||||
{
|
||||
trigger = _a212[ _k212 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( self istouching( trigger ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
_k212 = getNextArrayKey( _a212, _k212 );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
pathing_fix()
|
||||
{
|
||||
wait 1;
|
||||
nodes = getallnodes();
|
||||
disconnect_node( nodes[ 96 ] );
|
||||
disconnect_node( nodes[ 600 ] );
|
||||
}
|
||||
|
||||
disconnect_node( node )
|
||||
{
|
||||
ent = spawn( "script_model", node.origin, 1 );
|
||||
ent setmodel( level.deployedshieldmodel );
|
||||
ent hide();
|
||||
ent disconnectpaths();
|
||||
ent.origin -= vectorScale( ( 0, 0, 1 ), 64 );
|
||||
}
|
6
Multiplayer Maps/mp_bridge/maps/mp/mp_bridge_amb.gsc
Normal file
6
Multiplayer Maps/mp_bridge/maps/mp/mp_bridge_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
87
Multiplayer Maps/mp_bridge/maps/mp/mp_bridge_fx.gsc
Normal file
87
Multiplayer Maps/mp_bridge/maps/mp/mp_bridge_fx.gsc
Normal file
@ -0,0 +1,87 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
#using_animtree( "fxanim_props_dlc3" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_fxanim_props_dlc3();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_bridge_fx::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "water_splash" ] = loadfx( "bio/player/fx_player_water_splash_mp" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_mp_carrier_smoke_center" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_center" );
|
||||
level._effect[ "fx_mp_bridge_smoke_md" ] = loadfx( "maps/mp_maps/fx_mp_bridge_smoke_md" );
|
||||
level._effect[ "fx_mp_bridge_smoke_sm" ] = loadfx( "maps/mp_maps/fx_mp_bridge_smoke_sm" );
|
||||
level._effect[ "fx_mp_bridge_smoke_area" ] = loadfx( "maps/mp_maps/fx_mp_bridge_smoke_area" );
|
||||
level._effect[ "fx_mp_bridge_smoke_vista" ] = loadfx( "maps/mp_maps/fx_mp_bridge_smoke_vista" );
|
||||
level._effect[ "fx_mp_bridge_under_smoke" ] = loadfx( "maps/mp_maps/fx_mp_bridge_under_smoke" );
|
||||
level._effect[ "fx_mp_bridge_under_smoke_lg" ] = loadfx( "maps/mp_maps/fx_mp_bridge_under_smoke_lg" );
|
||||
level._effect[ "fx_mp_bridge_fire_med" ] = loadfx( "maps/mp_maps/fx_mp_bridge_fire_med" );
|
||||
level._effect[ "fx_mp_bridge_fire_sm" ] = loadfx( "maps/mp_maps/fx_mp_bridge_fire_sm" );
|
||||
level._effect[ "fx_mp_bridge_fire_fireball" ] = loadfx( "maps/mp_maps/fx_mp_bridge_fire_fireball" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_xsm_thin_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
level._effect[ "fx_mp_bridge_spark_light_runner" ] = loadfx( "maps/mp_maps/fx_mp_bridge_spark_light_runner" );
|
||||
level._effect[ "fx_mp_bridge_spark_light02_runner" ] = loadfx( "maps/mp_maps/fx_mp_bridge_spark_light02_runner" );
|
||||
level._effect[ "fx_mp_bridge_spark_light" ] = loadfx( "maps/mp_maps/fx_mp_bridge_spark_light" );
|
||||
level._effect[ "fx_mp_bridge_spark_loop" ] = loadfx( "maps/mp_maps/fx_mp_bridge_spark_loop" );
|
||||
level._effect[ "fx_mp_bridge_sparks_loop_sm" ] = loadfx( "maps/mp_maps/fx_mp_bridge_sparks_loop_sm" );
|
||||
level._effect[ "fx_mp_bridge_sparks_sm_runner" ] = loadfx( "maps/mp_maps/fx_mp_bridge_sparks_sm_runner" );
|
||||
level._effect[ "fx_vertigo_rectangle_light01" ] = loadfx( "light/fx_vertigo_rectangle_light01" );
|
||||
level._effect[ "fx_mp_bridge_god_ray_01" ] = loadfx( "maps/mp_maps/fx_mp_bridge_god_ray_01" );
|
||||
level._effect[ "fx_mp_bridge_god_ray_02" ] = loadfx( "maps/mp_maps/fx_mp_bridge_god_ray_02" );
|
||||
level._effect[ "fx_mp_bridge_god_ray_03" ] = loadfx( "maps/mp_maps/fx_mp_bridge_god_ray_03" );
|
||||
level._effect[ "fx_bridge_street_light" ] = loadfx( "light/fx_bridge_street_light" );
|
||||
level._effect[ "fx_vertigo_vista_glare01" ] = loadfx( "light/fx_vertigo_vista_glare01" );
|
||||
level._effect[ "fx_vertigo_vista_glare02" ] = loadfx( "light/fx_vertigo_vista_glare02" );
|
||||
level._effect[ "fx_bridge_vista_glare_red" ] = loadfx( "light/fx_bridge_vista_glare_red" );
|
||||
level._effect[ "fx_mp_light_cougar_vehicle" ] = loadfx( "maps/mp_maps/fx_mp_light_cougar_vehicle" );
|
||||
level._effect[ "fx_mp_light_cmd_vehicle_cab" ] = loadfx( "maps/mp_maps/fx_mp_light_cmd_vehicle_cab" );
|
||||
level._effect[ "fx_mp_light_cmd_vehicle_trailer" ] = loadfx( "maps/mp_maps/fx_mp_light_cmd_vehicle_trailer" );
|
||||
level._effect[ "fx_bridge_rectangle_light" ] = loadfx( "light/fx_bridge_rectangle_light" );
|
||||
level._effect[ "fx_dust_crumble_lg_runner" ] = loadfx( "dirt/fx_dust_crumble_lg_runner" );
|
||||
level._effect[ "fx_dust_crumble_windy_runner" ] = loadfx( "dirt/fx_dust_crumble_windy_runner" );
|
||||
level._effect[ "fx_mp_bridge_blowing_ash" ] = loadfx( "maps/mp_maps/fx_mp_bridge_blowing_ash" );
|
||||
level._effect[ "fx_mp_bridge_blowing_dust" ] = loadfx( "maps/mp_maps/fx_mp_bridge_blowing_dust" );
|
||||
level._effect[ "fx_mp_light_dust_motes_md" ] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
||||
level._effect[ "fx_mp_castaway_air_dust_blow" ] = loadfx( "maps/mp_maps/fx_mp_castaway_air_dust_blow" );
|
||||
level._effect[ "fx_mp_bridge_air_dust_blow" ] = loadfx( "maps/mp_maps/fx_mp_bridge_air_dust_blow" );
|
||||
level._effect[ "fx_paper_interior_short" ] = loadfx( "debris/fx_paper_interior_short" );
|
||||
level._effect[ "fx_lf_mp_bridge_sun" ] = loadfx( "lens_flares/fx_lf_mp_bridge_sun" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_xsm_thin" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_xsm_thin" );
|
||||
level._effect[ "fx_mp_light_police_car" ] = loadfx( "maps/mp_maps/fx_mp_light_police_car" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim = [];
|
||||
level.scr_anim[ "fxanim_props" ] = [];
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_01" ] = %fxanim_gp_seagull_circle_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_02" ] = %fxanim_gp_seagull_circle_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_03" ] = %fxanim_gp_seagull_circle_03_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "wirespark_long" ] = %fxanim_gp_wirespark_long_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "wirespark_med" ] = %fxanim_gp_wirespark_med_anim;
|
||||
}
|
||||
|
||||
precache_fxanim_props_dlc3()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props_dlc3" ] = [];
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "wires_01" ] = %fxanim_mp_bridge_wires_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "wires_02" ] = %fxanim_mp_bridge_wires_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "wires_03" ] = %fxanim_mp_bridge_wires_03_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "truck_parts" ] = %viewmodel_fxanim_mp_bridge_truck_parts_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "truck_wires" ] = %fxanim_mp_bridge_truck_wires_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "control_wires" ] = %fxanim_mp_bridge_control_wires_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "wires_billboard" ] = %fxanim_mp_bridge_wires_billboard_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "wires_generator" ] = %fxanim_mp_bridge_wires_generator_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "wires_road_hole" ] = %fxanim_mp_bridge_wires_road_hole_anim;
|
||||
}
|
42
Multiplayer Maps/mp_carrier/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_carrier/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
|
||||
main()
|
||||
{
|
||||
level.tweakfile = 1;
|
||||
setdvar( "scr_fog_exp_halfplane", "3759.28" );
|
||||
setdvar( "scr_fog_exp_halfheight", "243.735" );
|
||||
setdvar( "scr_fog_nearplane", "601.593" );
|
||||
setdvar( "scr_fog_red", "0.806694" );
|
||||
setdvar( "scr_fog_green", "0.962521" );
|
||||
setdvar( "scr_fog_blue", "0.9624" );
|
||||
setdvar( "scr_fog_baseheight", "-475.268" );
|
||||
setdvar( "visionstore_glowTweakEnable", "0" );
|
||||
setdvar( "visionstore_glowTweakRadius0", "5" );
|
||||
setdvar( "visionstore_glowTweakRadius1", "" );
|
||||
setdvar( "visionstore_glowTweakBloomCutoff", "0.5" );
|
||||
setdvar( "visionstore_glowTweakBloomDesaturation", "0" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity0", "1" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity1", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity0", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity1", "" );
|
||||
visionsetnaked( "mp_carrier", 1 );
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
}
|
885
Multiplayer Maps/mp_carrier/maps/mp/createfx/mp_carrier_fx.gsc
Normal file
885
Multiplayer Maps/mp_carrier/maps/mp/createfx/mp_carrier_fx.gsc
Normal file
@ -0,0 +1,885 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake01" );
|
||||
ent.v[ "origin" ] = ( -58,2015, -18360,2, -714,482 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake01" );
|
||||
ent.v[ "origin" ] = ( -10700,7, 16079,5, -669,519 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_med" );
|
||||
ent.v[ "origin" ] = ( -21482,5, -2505,56, -694,797 );
|
||||
ent.v[ "angles" ] = ( 357, 180, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_med" );
|
||||
ent.v[ "origin" ] = ( -10481,6, 20165,4, -710,126 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake01" );
|
||||
ent.v[ "origin" ] = ( -9126,13, -13552,4, -715,212 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake01" );
|
||||
ent.v[ "origin" ] = ( 8665,18, 13595,2, -700,893 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_embers" );
|
||||
ent.v[ "origin" ] = ( -3854,6, 79,8424, 183,125 );
|
||||
ent.v[ "angles" ] = ( 272, 90, -111 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_center_sm" );
|
||||
ent.v[ "origin" ] = ( -1319,65, -363,628, 64,3916 );
|
||||
ent.v[ "angles" ] = ( 302,901, 135,003, -145,086 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white" );
|
||||
ent.v[ "origin" ] = ( -513,153, 1362,69, -324,875 );
|
||||
ent.v[ "angles" ] = ( 272,603, 130,638, -139,606 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white" );
|
||||
ent.v[ "origin" ] = ( 782,881, -1511,68, -455,222 );
|
||||
ent.v[ "angles" ] = ( 276,155, 62,3059, -53,7455 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista" );
|
||||
ent.v[ "origin" ] = ( -15694,8, 16261,5, -290,759 );
|
||||
ent.v[ "angles" ] = ( 275,026, 184,097, -4,82657 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_sm" );
|
||||
ent.v[ "origin" ] = ( 6505,5, 13349,9, -328,171 );
|
||||
ent.v[ "angles" ] = ( 271,414, 42, 134,991 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_sm" );
|
||||
ent.v[ "origin" ] = ( -12455,3, -13247, -470,402 );
|
||||
ent.v[ "angles" ] = ( 273, 87, 90 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -15;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_signal_lights" );
|
||||
ent.v[ "origin" ] = ( -5473,25, 905,82, 209,125 );
|
||||
ent.v[ "angles" ] = ( 270, 7,12502, -84,1249 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -57;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_center" );
|
||||
ent.v[ "origin" ] = ( -3977,28, 46,9893, 55,2842 );
|
||||
ent.v[ "angles" ] = ( 280,413, 148,311, -150 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -31;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_center" );
|
||||
ent.v[ "origin" ] = ( -4941,86, -87,4292, 56,2784 );
|
||||
ent.v[ "angles" ] = ( 288,143, 211,092, 145,879 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -16;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_lg" );
|
||||
ent.v[ "origin" ] = ( -3969,86, 78,2687, 74,125 );
|
||||
ent.v[ "angles" ] = ( 278,062, 262,855, 97,0749 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -41;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_lg" );
|
||||
ent.v[ "origin" ] = ( -5021,34, -113,987, 68 );
|
||||
ent.v[ "angles" ] = ( 293,034, 343,215, 18,1473 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -63;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -4937,9, 17,0403, 30,7431 );
|
||||
ent.v[ "angles" ] = ( 273, 90, 87 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -98;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -5060,28, 146,711, 29,8151 );
|
||||
ent.v[ "angles" ] = ( 297,457, 339,072, -1,6175 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -95;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -5367,53, 133,109, 34,8895 );
|
||||
ent.v[ "angles" ] = ( 288,292, 349,876, 9,59762 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -54;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -5390,14, 63,707, 32,0963 );
|
||||
ent.v[ "angles" ] = ( 288,292, 349,876, 9,59762 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -17;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -5409,74, 68,626, 32 );
|
||||
ent.v[ "angles" ] = ( 283,892, 191,934, 179,103 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -35;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -5377,72, 140,05, 35,7386 );
|
||||
ent.v[ "angles" ] = ( 284,984, 176,097, -172,506 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -60;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -5076,63, -71,1425, 75,5114 );
|
||||
ent.v[ "angles" ] = ( 320,933, 100,085, -125,612 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -17;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -5080,25, -59,0195, 78,5789 );
|
||||
ent.v[ "angles" ] = ( 288,292, 349,876, 9,59762 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -44;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -4091,42, 131,545, 50,4025 );
|
||||
ent.v[ "angles" ] = ( 276,611, 296,668, 45,7822 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -76;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -4030,94, 131,781, 44,125 );
|
||||
ent.v[ "angles" ] = ( 273, 90, 79 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -72;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -4445, -195,563, 30,3438 );
|
||||
ent.v[ "angles" ] = ( 275,972, 84,4913, 71,4936 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -29;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -4603,88, -155,65, 30,9479 );
|
||||
ent.v[ "angles" ] = ( 288,292, 349,876, 9,59762 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -48;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -4598,65, 261,54, 53,6646 );
|
||||
ent.v[ "angles" ] = ( 272,126, 137,547, -170,002 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -62;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -4281,06, 44,5, 44,125 );
|
||||
ent.v[ "angles" ] = ( 273, 90, 79 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -63;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -4609,3, 278,458, 48,332 );
|
||||
ent.v[ "angles" ] = ( 273, 90, 87 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -51;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -4428,7, -211,233, 36 );
|
||||
ent.v[ "angles" ] = ( 274,224, 167,837, 168,144 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -80;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -4453,47, -192,678, 35 );
|
||||
ent.v[ "angles" ] = ( 298,931, 143,841, -170,31 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -51;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_spark_bounce_runner" );
|
||||
ent.v[ "origin" ] = ( -4785,97, 42,2405, 115,005 );
|
||||
ent.v[ "angles" ] = ( 64,8322, 222,596, 82,9304 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -46;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_spark_bounce_runner" );
|
||||
ent.v[ "origin" ] = ( -4806,01, -18,3941, 132,944 );
|
||||
ent.v[ "angles" ] = ( 40,9317, 51,6052, -86,0274 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -73;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -4606,44, 274,965, 59,9653 );
|
||||
ent.v[ "angles" ] = ( 280,318, 298,276, 54,5878 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -29;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -5128,75, -82,0912, 41,6681 );
|
||||
ent.v[ "angles" ] = ( 288,292, 349,876, 9,59762 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -17;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_lg" );
|
||||
ent.v[ "origin" ] = ( -4929,69, -96,3975, 63 );
|
||||
ent.v[ "angles" ] = ( 293,034, 343,215, 18,1473 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -47;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white" );
|
||||
ent.v[ "origin" ] = ( -3959,06, 1892,55, -305,286 );
|
||||
ent.v[ "angles" ] = ( 272,236, 54,426, -57,4434 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -49;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white" );
|
||||
ent.v[ "origin" ] = ( -3317,06, -2486,78, -148,666 );
|
||||
ent.v[ "angles" ] = ( 272,236, 54,426, -57,4434 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -65;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -4011,45, -38,307, 44,125 );
|
||||
ent.v[ "angles" ] = ( 271,008, 95,957, 93,0456 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -41;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_embers" );
|
||||
ent.v[ "origin" ] = ( -3868,3, 1,7955, 179,57 );
|
||||
ent.v[ "angles" ] = ( 270, 0, 14 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -59;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_embers" );
|
||||
ent.v[ "origin" ] = ( -5019,26, -69,3119, 183,125 );
|
||||
ent.v[ "angles" ] = ( 270, 0, -12 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -28;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_embers" );
|
||||
ent.v[ "origin" ] = ( -4976,18, -169,25, 197,125 );
|
||||
ent.v[ "angles" ] = ( 270, 359,987, 2,01273 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -24;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( -8535,18, -13083,5, -776,479 );
|
||||
ent.v[ "angles" ] = ( 6, 160, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -46;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( 162,964, -17807,9, -763,41 );
|
||||
ent.v[ "angles" ] = ( 2,99634, 159,996, -0,157169 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -21;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( -10291,5, 15930,1, -780,849 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 205 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -54;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( 8435,41, 13172,4, -832,5 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 200 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -33;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
ent.v[ "origin" ] = ( -4281,19, 91,9115, 61,2291 );
|
||||
ent.v[ "angles" ] = ( 356,963, 131,232, 1,89006 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -59;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -4280,21, 94,8366, 49,8955 );
|
||||
ent.v[ "angles" ] = ( 276,977, 176,134, 159,98 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -54;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
ent.v[ "origin" ] = ( -5077,41, -71,4887, 77 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 61 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -80;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
ent.v[ "origin" ] = ( -4591,18, 226,715, 66 );
|
||||
ent.v[ "angles" ] = ( 332, 356, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -21;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_slums_sprinkle_water" );
|
||||
ent.v[ "origin" ] = ( -4120,79, -1860,87, 14,125 );
|
||||
ent.v[ "angles" ] = ( 1, 0, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -67;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_slums_sprinkle_water" );
|
||||
ent.v[ "origin" ] = ( -4720,88, -1708,38, 3,875 );
|
||||
ent.v[ "angles" ] = ( 1, 0, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -58;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_wall_water_bottom" );
|
||||
ent.v[ "origin" ] = ( -4710,57, -1712,12, -75,875 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -32;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_wall_water_bottom" );
|
||||
ent.v[ "origin" ] = ( -4727,65, -1696,49, -75,875 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -63;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_water_splash_detail" );
|
||||
ent.v[ "origin" ] = ( -4105,71, -1846,54, -75,875 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -59;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_water_splash_detail" );
|
||||
ent.v[ "origin" ] = ( -4135,09, -1856,9, -75,875 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -58;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_water_splash_detail" );
|
||||
ent.v[ "origin" ] = ( -4709,19, -1716,29, -75,875 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -73;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_water_splash_detail" );
|
||||
ent.v[ "origin" ] = ( -4732,58, -1689,17, -75,875 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -61;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_xsm" );
|
||||
ent.v[ "origin" ] = ( -13732,3, 15785,8, -30,112 );
|
||||
ent.v[ "angles" ] = ( 274, 8, -180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -59;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_xsm" );
|
||||
ent.v[ "origin" ] = ( -10752,1, -13197, -318,155 );
|
||||
ent.v[ "angles" ] = ( 283, 345, 180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -63;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_lg" );
|
||||
ent.v[ "origin" ] = ( -1371,09, -357,367, 46,3916 );
|
||||
ent.v[ "angles" ] = ( 336,341, 174,239, 4,35777 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -33;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_lg" );
|
||||
ent.v[ "origin" ] = ( -2200,05, 405,969, 15,125 );
|
||||
ent.v[ "angles" ] = ( 278, 270, 90 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -65;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -2228,46, 398,769, 54,8563 );
|
||||
ent.v[ "angles" ] = ( 290,215, 354,817, 5,71139 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -97;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -2463,6, 789,889, 53,125 );
|
||||
ent.v[ "angles" ] = ( 290,215, 354,817, 10,7115 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -98;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -2094,03, 538,268, 51,125 );
|
||||
ent.v[ "angles" ] = ( 275,972, 84,4895, 99,4953 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -71;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -2465,97, 773,06, 44,125 );
|
||||
ent.v[ "angles" ] = ( 284,008, 149,965, -149,654 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -62;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -2365,74, 785,716, 93,523 );
|
||||
ent.v[ "angles" ] = ( 290,215, 354,817, 10,7115 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -73;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -2455,27, 745,334, 59,7645 );
|
||||
ent.v[ "angles" ] = ( 275,972, 84,4895, 99,4953 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -52;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_light_beacon_red_blink_fst" );
|
||||
ent.v[ "origin" ] = ( -3973,7, -1130,53, 1381,58 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -88;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_light_beacon_red_blink_fst" );
|
||||
ent.v[ "origin" ] = ( -3972,11, -1898,07, 1381,59 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -27;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_light_beacon_red_blink_fst" );
|
||||
ent.v[ "origin" ] = ( -4835,98, -1513,69, 827,88 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -75;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_sm" );
|
||||
ent.v[ "origin" ] = ( -3447,69, -1683,97, -23,875 );
|
||||
ent.v[ "angles" ] = ( 271, 256,006, 76,9945 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -91;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_sm" );
|
||||
ent.v[ "origin" ] = ( -4020,17, -1905,87, -19,2877 );
|
||||
ent.v[ "angles" ] = ( 270, 0, -21 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -94;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_sm" );
|
||||
ent.v[ "origin" ] = ( -4236,28, -1904,52, -15,7601 );
|
||||
ent.v[ "angles" ] = ( 270, 358,457, -19,4571 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -94;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_sm" );
|
||||
ent.v[ "origin" ] = ( -4459,57, -1908, -18,5915 );
|
||||
ent.v[ "angles" ] = ( 270, 357,973, -20,9727 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -20;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_sm" );
|
||||
ent.v[ "origin" ] = ( -4675,08, -1908,77, -18,4708 );
|
||||
ent.v[ "angles" ] = ( 270, 358,457, -22,4571 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -83;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_sm" );
|
||||
ent.v[ "origin" ] = ( -4556,52, -1970,96, -23,8727 );
|
||||
ent.v[ "angles" ] = ( 276, 76, -76 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -59;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_med" );
|
||||
ent.v[ "origin" ] = ( -2702,43, 1868,7, -120,875 );
|
||||
ent.v[ "angles" ] = ( 273, 274, 90 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -72;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
ent.v[ "origin" ] = ( -3427,92, -81,8574, 21,9565 );
|
||||
ent.v[ "angles" ] = ( 317,146, 175,806, 2,41347 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -29;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -3422,85, -69,953, 31,0785 );
|
||||
ent.v[ "angles" ] = ( 288,292, 349,876, 9,59762 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -55;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_light_beacon_red_blink_fst" );
|
||||
ent.v[ "origin" ] = ( -2969,28, -62,7099, 177,277 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -49;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_whisp" );
|
||||
ent.v[ "origin" ] = ( -2234,61, 191,542, 33,2623 );
|
||||
ent.v[ "angles" ] = ( 275,972, 84,4895, 99,4953 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -33;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -2254,46, 191,494, 30,2707 );
|
||||
ent.v[ "angles" ] = ( 274,68, 313,059, 51,9166 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -80;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_hose_water" );
|
||||
ent.v[ "origin" ] = ( -5944,17, 176,554, 46,125 );
|
||||
ent.v[ "angles" ] = ( 270, 0, -178 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -98;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_window_god_ray" );
|
||||
ent.v[ "origin" ] = ( -5352,85, 1117,35, 93,125 );
|
||||
ent.v[ "angles" ] = ( 327,422, 149,504, 72,9211 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -29;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_light_dust_motes_md" );
|
||||
ent.v[ "origin" ] = ( -5517,17, 949,536, 92,125 );
|
||||
ent.v[ "angles" ] = ( 1, 0, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -43;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_light_dust_motes_md" );
|
||||
ent.v[ "origin" ] = ( -4846,19, 926,685, 110,143 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 176 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -62;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_light_dust_motes_md" );
|
||||
ent.v[ "origin" ] = ( -4266,9, -1344,87, 102,125 );
|
||||
ent.v[ "angles" ] = ( 25,0027, 269,016, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -36;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -4292,1, -369,65, 44,125 );
|
||||
ent.v[ "angles" ] = ( 288,292, 349,876, 9,59762 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -44;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_spark_bounce_runner" );
|
||||
ent.v[ "origin" ] = ( -6044,17, -971,258, 142,232 );
|
||||
ent.v[ "angles" ] = ( 64,8322, 222,596, 82,9304 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -54;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5063,26, 861,135, 159,591 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -60;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5061,54, 925,1, 158,584 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -52;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5061,25, 986,927, 158,588 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -17;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5150,78, 988,019, 158,252 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -75;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5151,44, 860,562, 159,255 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -33;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5148,66, 927,492, 158,247 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -46;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5234,71, 985,008, 159,256 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -81;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5232,74, 861,248, 159,259 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -27;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5231,04, 926,214, 159,251 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -63;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5311,23, 986,513, 159,253 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -66;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5310,36, 862,11, 159,256 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -24;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_tube_light_sq" );
|
||||
ent.v[ "origin" ] = ( -5311,74, 925,849, 159,248 );
|
||||
ent.v[ "angles" ] = ( 90, 3,96799, -176,032 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -66;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
ent.v[ "origin" ] = ( -2990,27, -1425,42, -23,5496 );
|
||||
ent.v[ "angles" ] = ( 345,698, 169,704, 7,42529 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -77;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -2990,66, -1431,45, -25,7327 );
|
||||
ent.v[ "angles" ] = ( 288,484, 346,765, 27,5501 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -58;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -3008,45, -1519,56, -58,1315 );
|
||||
ent.v[ "angles" ] = ( 284,555, 358,91, 27,2706 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -16;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
ent.v[ "origin" ] = ( -2200,53, 181,707, 10,1593 );
|
||||
ent.v[ "angles" ] = ( 317,146, 175,806, 2,41347 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -93;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -2228,89, 187,158, 5,48325 );
|
||||
ent.v[ "angles" ] = ( 345, 173, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -41;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_fumes_vent_xsm_int" );
|
||||
ent.v[ "origin" ] = ( -2893,2, -45,4313, 148,287 );
|
||||
ent.v[ "angles" ] = ( 358,281, 50,0353, -179,306 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -99;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_fumes_vent_xsm_int" );
|
||||
ent.v[ "origin" ] = ( -2974,98, 15,7562, 149,692 );
|
||||
ent.v[ "angles" ] = ( 358,281, 50,0353, -179,306 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -66;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -2968,33, 14,4817, 147,436 );
|
||||
ent.v[ "angles" ] = ( 274,028, 270,507, 14,9761 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -42;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -2892,41, -53,2338, 149,018 );
|
||||
ent.v[ "angles" ] = ( 274,028, 270,507, 14,9761 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -100;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -2557,05, 726,475, 109,125 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -53;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -1865,89, 31,8837, 48,125 );
|
||||
ent.v[ "angles" ] = ( 294, 0, -1 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -21;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -2719,39, -628,071, 115,125 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -57;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -3654,59, -1058,95, 89,125 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -85;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -3624,6, -557,147, 80,125 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -18;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -4939,88, -470,674, 64,125 );
|
||||
ent.v[ "angles" ] = ( 272, 270,003, 70,9956 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -81;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -5515,04, -558,374, 99,125 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -46;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -5346,74, 428,328, 100,767 );
|
||||
ent.v[ "angles" ] = ( 273,082, 143,357, -154,327 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -43;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -5810,05, 342,903, 88,125 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -56;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -5736,39, -359,219, 61,0693 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -83;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -5616,28, 692,708, 94,2869 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -88;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -3296,67, 547,707, 119,245 );
|
||||
ent.v[ "angles" ] = ( 270, 356,906, 36,094 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -92;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -4274,38, 119,286, 44,125 );
|
||||
ent.v[ "angles" ] = ( 281,169, 309,125, 13,1377 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -91;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -5288,9, -147,045, 93,125 );
|
||||
ent.v[ "angles" ] = ( 271,104, 287,171, 70,8336 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -98;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -5202,3, 218,401, 45,9961 );
|
||||
ent.v[ "angles" ] = ( 274,176, 288,61, 38,9491 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -87;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -4136,17, -659,741, 69,125 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -92;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -2952,7, 30,9951, 70,9518 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -62;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -4381,43, -1054,36, 65,125 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -49;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -4878,93, 60,5723, 33 );
|
||||
ent.v[ "angles" ] = ( 286,386, 156,261, 177,678 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -57;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -4880,41, 72,9994, 43,8322 );
|
||||
ent.v[ "angles" ] = ( 288,292, 347,876, 9,5976 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -65;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_sm" );
|
||||
ent.v[ "origin" ] = ( -3953,09, -104,214, 44,125 );
|
||||
ent.v[ "angles" ] = ( 276,567, 39,3156, -67,3963 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -86;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_sm" );
|
||||
ent.v[ "origin" ] = ( -3939,66, -107,473, 48,9528 );
|
||||
ent.v[ "angles" ] = ( 315,281, 349,535, 1,14706 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -58;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_sm" );
|
||||
ent.v[ "origin" ] = ( -3459,76, -1670,08, -21,875 );
|
||||
ent.v[ "angles" ] = ( 271, 256,006, 76,9945 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -18;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_med" );
|
||||
ent.v[ "origin" ] = ( -2673,19, 1344,67, -290,875 );
|
||||
ent.v[ "angles" ] = ( 275,644, 321,987, 39,8366 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -49;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_xlg" );
|
||||
ent.v[ "origin" ] = ( -6531,17, 1097,36, -283,067 );
|
||||
ent.v[ "angles" ] = ( 275,981, 184,506, -175,494 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -82;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_xlg" );
|
||||
ent.v[ "origin" ] = ( -6582,02, -1250,14, -278,134 );
|
||||
ent.v[ "angles" ] = ( 272,184, 107,998, -126,968 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -60;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( -8588,57, -12766,9, -561,241 );
|
||||
ent.v[ "angles" ] = ( 270, 0,205568, -0,205568 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -26;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( -14091,9, -13489,7, -452,354 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -52;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( -6462,06, -17808,7, -435,959 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -49;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( 11,2148, -16553,5, -273,229 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -72;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( -21214,4, -2214, -630,674 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -22;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( -10149,3, 15391,4, -421,5 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -31;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( -18681,2, 15370,4, -106,849 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -24;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( 8291,97, 12459,5, -448,972 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -70;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( 3323,2, 13603,8, -484,159 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -17;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_mist" );
|
||||
ent.v[ "origin" ] = ( -9888,85, 19843,6, -638,009 );
|
||||
ent.v[ "angles" ] = ( 279, 4, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -91;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_lf_mp_carrier_sun1" );
|
||||
ent.v[ "origin" ] = ( 38623,1, 90590,2, 8650,31 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -42;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_med" );
|
||||
ent.v[ "origin" ] = ( -4564,92, -1544,95, -450,125 );
|
||||
ent.v[ "angles" ] = ( 271,157, 149,399, -144,41 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -97;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_med" );
|
||||
ent.v[ "origin" ] = ( -5265,77, 1602,43, -346,726 );
|
||||
ent.v[ "angles" ] = ( 288,437, 267,003, 93,1525 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -48;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_xsm" );
|
||||
ent.v[ "origin" ] = ( 4387,92, 13115,7, -544,612 );
|
||||
ent.v[ "angles" ] = ( 274, 188, 0 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -50;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_xsm" );
|
||||
ent.v[ "origin" ] = ( -12050,2, 15687,4, -393,525 );
|
||||
ent.v[ "angles" ] = ( 300,846, 79,0048, 111,848 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -71;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_xsm" );
|
||||
ent.v[ "origin" ] = ( -753,66, -18091,5, -395,443 );
|
||||
ent.v[ "angles" ] = ( 277, 345, 180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -67;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_burning_vista_xsm" );
|
||||
ent.v[ "origin" ] = ( -1519,06, -17954,7, -575,988 );
|
||||
ent.v[ "angles" ] = ( 283, 345, 180 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -95;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white" );
|
||||
ent.v[ "origin" ] = ( -1081,07, -1444,35, -443,202 );
|
||||
ent.v[ "angles" ] = ( 273,103, 190,141, 175,406 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -27;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white" );
|
||||
ent.v[ "origin" ] = ( -3253,04, 1420,7, -509,43 );
|
||||
ent.v[ "angles" ] = ( 272,994, 322,174, 37,7963 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -88;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_white_med" );
|
||||
ent.v[ "origin" ] = ( -6055,61, -1461,02, -262,926 );
|
||||
ent.v[ "angles" ] = ( 271,157, 149,394, -169,406 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -44;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_med" );
|
||||
ent.v[ "origin" ] = ( -1293,77, -285,233, 60,3013 );
|
||||
ent.v[ "angles" ] = ( 290,215, 354,817, 5,71139 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -42;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_area" );
|
||||
ent.v[ "origin" ] = ( -1819,96, -281,825, 80,125 );
|
||||
ent.v[ "angles" ] = ( 270, 359,818, -0,818171 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -100;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_lg" );
|
||||
ent.v[ "origin" ] = ( -1373,5, -313,755, 45,125 );
|
||||
ent.v[ "angles" ] = ( 280,383, 227,744, 115,753 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -32;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_water_fire_sprinkler_gush_splash_sm" );
|
||||
ent.v[ "origin" ] = ( -4720,53, -1707,86, -75,875 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -40;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_water_fire_sprinkler_gush_splash_sm" );
|
||||
ent.v[ "origin" ] = ( -4116,44, -1857,15, -75,875 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -52;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( -522,152, 899,132, -728,155 );
|
||||
ent.v[ "angles" ] = ( 357,444, 176,534, 24,7667 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -79;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( -1604,54, 905,903, -748,42 );
|
||||
ent.v[ "angles" ] = ( 357,444, 176,534, 24,7667 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -73;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( 541,632, -1017,3, -716 );
|
||||
ent.v[ "angles" ] = ( 3,22013, 186,887, -6,00497 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -98;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( -540,782, -1112,97, -714 );
|
||||
ent.v[ "angles" ] = ( 2,99797, 174,365, -16,2623 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -25;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( -1469,87, -1083,49, -738,966 );
|
||||
ent.v[ "angles" ] = ( 2,83823, 176,778, -15,2345 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -51;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_smoke_fire_lg" );
|
||||
ent.v[ "origin" ] = ( -4942,81, -69,6983, 79,0716 );
|
||||
ent.v[ "angles" ] = ( 278,528, 290,839, 72,1579 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -71;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_mp_carrier_vista_wake_side" );
|
||||
ent.v[ "origin" ] = ( -485,978, -17870,5, -765,265 );
|
||||
ent.v[ "angles" ] = ( 2,99634, 159,996, -0,157169 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -97;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_hazard_light" );
|
||||
ent.v[ "origin" ] = ( -2310,63, -376,682, 94,4275 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -99;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_hazard_light" );
|
||||
ent.v[ "origin" ] = ( -2309,65, -246,131, 94,9715 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -98;
|
||||
ent = maps/mp/_utility::createoneshoteffect( "fx_carrier_hazard_light" );
|
||||
ent.v[ "origin" ] = ( -2309,75, 320,981, 94,0247 );
|
||||
ent.v[ "angles" ] = vectorScale( ( 1, 0, 0 ), 270 );
|
||||
ent.v[ "type" ] = "oneshotfx";
|
||||
ent.v[ "delay" ] = -98;
|
||||
}
|
105
Multiplayer Maps/mp_carrier/maps/mp/mp_carrier.gsc
Normal file
105
Multiplayer Maps/mp_carrier/maps/mp/mp_carrier.gsc
Normal file
@ -0,0 +1,105 @@
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
level.overrideplayerdeathwatchtimer = ::leveloverridetime;
|
||||
level.useintermissionpointsonwavespawn = ::useintermissionpointsonwavespawn;
|
||||
maps/mp/mp_carrier_fx::main();
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_carrier_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_carrier" );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
level thread water_trigger_init();
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
|
||||
}
|
||||
|
||||
water_trigger_init()
|
||||
{
|
||||
wait 3;
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a53 = triggers;
|
||||
_k53 = getFirstArrayKey( _a53 );
|
||||
while ( isDefined( _k53 ) )
|
||||
{
|
||||
trigger = _a53[ _k53 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger thread water_trigger_think();
|
||||
}
|
||||
_k53 = getNextArrayKey( _a53, _k53 );
|
||||
}
|
||||
}
|
||||
|
||||
water_trigger_think()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "trigger", entity );
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
trace = worldtrace( entity.origin + vectorScale( ( 0, 0, 1 ), 30 ), entity.origin - vectorScale( ( 0, 0, 1 ), 256 ) );
|
||||
if ( trace[ "surfacetype" ] == "none" )
|
||||
{
|
||||
entity playsound( "mpl_splash_death" );
|
||||
playfx( level._effect[ "water_splash" ], entity.origin + vectorScale( ( 0, 0, 1 ), 40 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
leveloverridetime( defaulttime )
|
||||
{
|
||||
if ( self isinwater() )
|
||||
{
|
||||
return 0,4;
|
||||
}
|
||||
return defaulttime;
|
||||
}
|
||||
|
||||
useintermissionpointsonwavespawn()
|
||||
{
|
||||
return self isinwater();
|
||||
}
|
||||
|
||||
isinwater()
|
||||
{
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a101 = triggers;
|
||||
_k101 = getFirstArrayKey( _a101 );
|
||||
while ( isDefined( _k101 ) )
|
||||
{
|
||||
trigger = _a101[ _k101 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( self istouching( trigger ) )
|
||||
{
|
||||
trace = worldtrace( self.origin + vectorScale( ( 0, 0, 1 ), 30 ), self.origin - vectorScale( ( 0, 0, 1 ), 256 ) );
|
||||
return trace[ "surfacetype" ] == "none";
|
||||
}
|
||||
}
|
||||
_k101 = getNextArrayKey( _a101, _k101 );
|
||||
}
|
||||
return 0;
|
||||
}
|
6
Multiplayer Maps/mp_carrier/maps/mp/mp_carrier_amb.gsc
Normal file
6
Multiplayer Maps/mp_carrier/maps/mp/mp_carrier_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
72
Multiplayer Maps/mp_carrier/maps/mp/mp_carrier_fx.gsc
Normal file
72
Multiplayer Maps/mp_carrier/maps/mp/mp_carrier_fx.gsc
Normal file
@ -0,0 +1,72 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
|
||||
precache_util_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "water_splash" ] = loadfx( "bio/player/fx_player_water_splash_mp" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_mp_light_dust_motes_md" ] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_xsm_thin_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
level._effect[ "fx_mp_carrier_spark_bounce_runner" ] = loadfx( "maps/mp_maps/fx_mp_carrier_spark_bounce_runner" );
|
||||
level._effect[ "fx_mp_smk_plume_lg_blk" ] = loadfx( "maps/mp_maps/fx_mp_smk_plume_lg_blk" );
|
||||
level._effect[ "fx_mp_smk_plume_lg_blk_carrier" ] = loadfx( "maps/mp_maps/fx_mp_smk_plume_lg_blk_carrier" );
|
||||
level._effect[ "fx_mp_carrier_smoke_sm" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_sm" );
|
||||
level._effect[ "fx_mp_carrier_smoke_med" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_med" );
|
||||
level._effect[ "fx_mp_carrier_smoke_lg" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_lg" );
|
||||
level._effect[ "fx_mp_carrier_embers" ] = loadfx( "maps/mp_maps/fx_mp_carrier_embers" );
|
||||
level._effect[ "fx_mp_carrier_smoke_xlg" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_xlg" );
|
||||
level._effect[ "fx_mp_carrier_smoke_area" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_area" );
|
||||
level._effect[ "fx_mp_carrier_smoke_white" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_white" );
|
||||
level._effect[ "fx_mp_carrier_burning_vista" ] = loadfx( "maps/mp_maps/fx_mp_carrier_burning_vista" );
|
||||
level._effect[ "fx_mp_carrier_burning_vista_sm" ] = loadfx( "maps/mp_maps/fx_mp_carrier_burning_vista_sm" );
|
||||
level._effect[ "fx_mp_carrier_burning_vista_xsm" ] = loadfx( "maps/mp_maps/fx_mp_carrier_burning_vista_xsm" );
|
||||
level._effect[ "fx_mp_carrier_burning_vista_mist" ] = loadfx( "maps/mp_maps/fx_mp_carrier_burning_vista_mist" );
|
||||
level._effect[ "fx_mp_carrier_smoke_whisp" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_whisp" );
|
||||
level._effect[ "fx_mp_carrier_smoke_center" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_center" );
|
||||
level._effect[ "fx_mp_carrier_smoke_center_sm" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_center_sm" );
|
||||
level._effect[ "fx_mp_carrier_smoke_white_sm" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_white_sm" );
|
||||
level._effect[ "fx_mp_carrier_smoke_white_med" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_white_med" );
|
||||
level._effect[ "fx_mp_fumes_vent_xsm_int" ] = loadfx( "maps/mp_maps/fx_mp_fumes_vent_xsm_int" );
|
||||
level._effect[ "fx_mp_carrier_smoke_white_xlg" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_white_xlg" );
|
||||
level._effect[ "fx_mp_carrier_smoke_fire_sm" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_fire_sm" );
|
||||
level._effect[ "fx_mp_carrier_smoke_fire_med" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_fire_med" );
|
||||
level._effect[ "fx_mp_carrier_smoke_fire_lg" ] = loadfx( "maps/mp_maps/fx_mp_carrier_smoke_fire_lg" );
|
||||
level._effect[ "fx_mp_carrier_vista_wake01" ] = loadfx( "maps/mp_maps/fx_mp_carrier_vista_wake01" );
|
||||
level._effect[ "fx_mp_carrier_vista_wake_med" ] = loadfx( "maps/mp_maps/fx_mp_carrier_vista_wake_med" );
|
||||
level._effect[ "fx_mp_carrier_vista_wake_side" ] = loadfx( "maps/mp_maps/fx_mp_carrier_vista_wake_side" );
|
||||
level._effect[ "fx_mp_slums_sprinkle_water" ] = loadfx( "maps/mp_maps/fx_mp_slums_sprinkle_water" );
|
||||
level._effect[ "fx_wall_water_bottom" ] = loadfx( "water/fx_wall_water_bottom" );
|
||||
level._effect[ "fx_water_splash_detail" ] = loadfx( "water/fx_water_splash_detail" );
|
||||
level._effect[ "fx_carrier_hose_water" ] = loadfx( "water/fx_carrier_hose_water" );
|
||||
level._effect[ "fx_water_fire_sprinkler_gush_splash_sm" ] = loadfx( "water/fx_water_fire_sprinkler_gush_splash_sm" );
|
||||
level._effect[ "fx_mp_carrier_signal_lights" ] = loadfx( "maps/mp_maps/fx_mp_carrier_signal_lights" );
|
||||
level._effect[ "fx_window_god_ray" ] = loadfx( "light/fx_window_god_ray" );
|
||||
level._effect[ "fx_light_beacon_red_blink_fst" ] = loadfx( "light/fx_light_beacon_red_blink_fst_sm" );
|
||||
level._effect[ "fx_carrier_tube_light_sq" ] = loadfx( "light/fx_carrier_tube_light_sq" );
|
||||
level._effect[ "fx_carrier_hazard_light" ] = loadfx( "light/fx_carrier_hazard_light" );
|
||||
level._effect[ "fx_lf_mp_carrier_sun1" ] = loadfx( "lens_flares/fx_lf_mp_carrier_sun1" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "towing_crane" ] = %fxanim_mp_carrier_towing_crane_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "sparking_wires_med" ] = %fxanim_gp_wirespark_med_anim;
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
precache_util_fx();
|
||||
precache_createfx_fx();
|
||||
precache_scripted_fx();
|
||||
precache_fxanim_props();
|
||||
maps/mp/createfx/mp_carrier_fx::main();
|
||||
maps/mp/createart/mp_carrier_art::main();
|
||||
}
|
42
Multiplayer Maps/mp_castaway/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_castaway/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
1605
Multiplayer Maps/mp_castaway/maps/mp/createfx/mp_castaway_fx.gsc
Normal file
1605
Multiplayer Maps/mp_castaway/maps/mp/createfx/mp_castaway_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
56
Multiplayer Maps/mp_castaway/maps/mp/mp_castaway.gsc
Normal file
56
Multiplayer Maps/mp_castaway/maps/mp/mp_castaway.gsc
Normal file
@ -0,0 +1,56 @@
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
maps/mp/mp_castaway_fx::main();
|
||||
precachemodel( "collision_physics_64x64x10" );
|
||||
precachemodel( "collision_clip_64x64x10" );
|
||||
precachemodel( "collision_physics_128x128x10" );
|
||||
precachemodel( "p6_cas_rock_medium_02_trimmed" );
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_castaway_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_castaway" );
|
||||
setdvar( "compassmaxrange", "2100" );
|
||||
setdvar( "bg_dog_swim_enabled", 1 );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( -1181, 1602, 242 ), ( 9,8, 270, 106 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( -1181, 1635, 242 ), ( 9,81, 270, 106 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( -1174, 1602, 197 ), ( 360, 270, 90 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( -1174, 1635, 197 ), ( 360, 270, 90 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( -329, 656, 123 ), ( 359,424, 286,385, 127,196 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( -342, 699, 124 ), ( 354,888, 295,033, 125,723 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( -707, 2358, 145 ), vectorScale( ( 0, 1, 0 ), 90 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 407,5, 518, 103 ), vectorScale( ( 0, 1, 0 ), 270 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 381, 552, 103 ), ( 270, 65,4, 6,57 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 343, 559, 103 ), ( 270, 112,8, 0 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 370,5, 526, 128,5 ), vectorScale( ( 0, 1, 0 ), 66,2 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 357, 525, 129,5 ), vectorScale( ( 0, 1, 0 ), 23 ) );
|
||||
rock1 = spawn( "script_model", ( 373,607, 484,974, 42,6 ) );
|
||||
rock1.angles = ( 350,899, 243,975, 4,02471 );
|
||||
rock1 setmodel( "p6_cas_rock_medium_02_trimmed" );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( 479,5, 270, 75 ), ( 346,453, 344,758, 4,31137 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( 477,5, 270, 76 ), ( 349,833, 342,352, 15,9726 ) );
|
||||
spawncollision( "collision_physics_128x128x10", "collider", ( 1503, 186, 121 ), ( 16,2357, 331,376, -70,4431 ) );
|
||||
spawncollision( "collision_physics_128x128x10", "collider", ( 1571, 147, 97 ), ( 16,2357, 331,376, -70,4431 ) );
|
||||
level.levelkothdisable = [];
|
||||
level.levelkothdisable[ level.levelkothdisable.size ] = spawn( "trigger_radius", ( 281,5, 443,5, 161 ), 0, 50, 50 );
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2200", reset_dvars );
|
||||
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
|
||||
ss.hq_objective_influencer_radius = 3000;
|
||||
}
|
6
Multiplayer Maps/mp_castaway/maps/mp/mp_castaway_amb.gsc
Normal file
6
Multiplayer Maps/mp_castaway/maps/mp/mp_castaway_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
101
Multiplayer Maps/mp_castaway/maps/mp/mp_castaway_fx.gsc
Normal file
101
Multiplayer Maps/mp_castaway/maps/mp/mp_castaway_fx.gsc
Normal file
@ -0,0 +1,101 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
#using_animtree( "fxanim_props_dlc3" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_fxanim_props_dlc3();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_castaway_fx::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "water_splash_sm" ] = loadfx( "bio/player/fx_player_water_splash_mp_sm" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_mp_castaway_crate_fire" ] = loadfx( "maps/mp_maps/fx_mp_castaway_crate_fire" );
|
||||
level._effect[ "fx_mp_castaway_oil_slick" ] = loadfx( "maps/mp_maps/fx_mp_castaway_oil_slick" );
|
||||
level._effect[ "fx_mp_castaway_splash_md" ] = loadfx( "maps/mp_maps/fx_mp_castaway_splash_md" );
|
||||
level._effect[ "fx_mp_castaway_rock_splash01_runner" ] = loadfx( "maps/mp_maps/fx_mp_castaway_rock_splash01_runner" );
|
||||
level._effect[ "fx_mp_castaway_cave_drip" ] = loadfx( "maps/mp_maps/fx_mp_castaway_cave_drip" );
|
||||
level._effect[ "fx_xtreme_water_hit_mp_castaway" ] = loadfx( "impacts/fx_xtreme_water_hit_mp_castaway" );
|
||||
level._effect[ "fx_mp_slums_dark_smoke_sm" ] = loadfx( "maps/mp_maps/fx_mp_slums_dark_smoke_sm" );
|
||||
level._effect[ "fx_mp_castaway_fire_md" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_md" );
|
||||
level._effect[ "fx_mp_castaway_fire_sm" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_sm" );
|
||||
level._effect[ "fx_mp_castaway_fire_lg" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_lg" );
|
||||
level._effect[ "fx_smk_smolder_gray_slow_dark" ] = loadfx( "smoke/fx_smk_smolder_gray_slow_dark" );
|
||||
level._effect[ "fx_mp_studio_smoke_area" ] = loadfx( "maps/mp_maps/fx_mp_studio_smoke_area" );
|
||||
level._effect[ "fx_mp_castaway_smoke_area" ] = loadfx( "maps/mp_maps/fx_mp_castaway_smoke_area" );
|
||||
level._effect[ "fx_mp_castaway_wing_fire" ] = loadfx( "maps/mp_maps/fx_mp_castaway_wing_fire" );
|
||||
level._effect[ "fx_mp_castaway_fire_geo" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_geo" );
|
||||
level._effect[ "fx_mp_castaway_fire_geo2" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_geo2" );
|
||||
level._effect[ "fx_mp_castaway_crate_smoke01" ] = loadfx( "maps/mp_maps/fx_mp_castaway_crate_smoke01" );
|
||||
level._effect[ "fx_mp_castaway_crate_smoke02" ] = loadfx( "maps/mp_maps/fx_mp_castaway_crate_smoke02" );
|
||||
level._effect[ "fx_mp_castaway_smoke_sm" ] = loadfx( "maps/mp_maps/fx_mp_castaway_smoke_sm" );
|
||||
level._effect[ "fx_mp_castaway_smoke_tunnel" ] = loadfx( "maps/mp_maps/fx_mp_castaway_smoke_tunnel" );
|
||||
level._effect[ "fx_mp_castaway_elec_fire" ] = loadfx( "maps/mp_maps/fx_mp_castaway_elec_fire" );
|
||||
level._effect[ "fx_mp_castaway_smoke_area_white" ] = loadfx( "maps/mp_maps/fx_mp_castaway_smoke_area_white" );
|
||||
level._effect[ "fx_mp_castaway_wing02_smoke" ] = loadfx( "maps/mp_maps/fx_mp_castaway_wing02_smoke" );
|
||||
level._effect[ "fx_mp_castaway_fire_only_sm" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_only_sm" );
|
||||
level._effect[ "fx_mp_castaway_smoke_blow" ] = loadfx( "maps/mp_maps/fx_mp_castaway_smoke_blow" );
|
||||
level._effect[ "fx_mp_castaway_fire_drip" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_drip" );
|
||||
level._effect[ "fx_insects_swarm_lg_light" ] = loadfx( "bio/insects/fx_insects_swarm_lg_light" );
|
||||
level._effect[ "fx_insects_flies_dragonflies" ] = loadfx( "bio/insects/fx_insects_flies_dragonflies" );
|
||||
level._effect[ "fx_insects_butterfly_flutter" ] = loadfx( "bio/insects/fx_insects_butterfly_flutter" );
|
||||
level._effect[ "fx_mp_castaway_fire_int" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_int" );
|
||||
level._effect[ "fx_mp_castaway_god_ray_lg" ] = loadfx( "maps/mp_maps/fx_mp_castaway_god_ray_lg" );
|
||||
level._effect[ "fx_mp_castaway_god_ray_lg_r" ] = loadfx( "maps/mp_maps/fx_mp_castaway_god_ray_lg_r" );
|
||||
level._effect[ "fx_mp_castaway_god_ray_lg_02" ] = loadfx( "maps/mp_maps/fx_mp_castaway_god_ray_lg_02" );
|
||||
level._effect[ "fx_mp_castaway_fire_dlite" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_dlite" );
|
||||
level._effect[ "fx_mp_castaway_fire_dlite02" ] = loadfx( "maps/mp_maps/fx_mp_castaway_fire_dlite02" );
|
||||
level._effect[ "fx_mp_castaway_case_lite" ] = loadfx( "maps/mp_maps/fx_mp_castaway_case_lite" );
|
||||
level._effect[ "fx_mp_light_dust_motes_md" ] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
||||
level._effect[ "fx_mp_castaway_air_dust" ] = loadfx( "maps/mp_maps/fx_mp_castaway_air_dust" );
|
||||
level._effect[ "fx_mp_castaway_air_mist" ] = loadfx( "maps/mp_maps/fx_mp_castaway_air_mist" );
|
||||
level._effect[ "fx_mp_castaway_air_dust_blow" ] = loadfx( "maps/mp_maps/fx_mp_castaway_air_dust_blow" );
|
||||
level._effect[ "fx_mp_castaway_leaf_debris" ] = loadfx( "maps/mp_maps/fx_mp_castaway_leaf_debris" );
|
||||
level._effect[ "fx_mp_castaway_vista_mist" ] = loadfx( "maps/mp_maps/fx_mp_castaway_vista_mist" );
|
||||
level._effect[ "fx_mp_castaway_vista_mist02" ] = loadfx( "maps/mp_maps/fx_mp_castaway_vista_mist02" );
|
||||
level._effect[ "fx_mp_carrier_spark_bounce_runner" ] = loadfx( "maps/mp_maps/fx_mp_carrier_spark_bounce_runner" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_xsm_thin_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
level._effect[ "fx_mp_castaway_spark_lite_runner" ] = loadfx( "maps/mp_maps/fx_mp_castaway_spark_lite_runner" );
|
||||
level._effect[ "fx_lf_mp_castaway_sun" ] = loadfx( "lens_flares/fx_lf_mp_castaway_sun" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim = [];
|
||||
level.scr_anim[ "fxanim_props" ] = [];
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_01" ] = %fxanim_gp_seagull_circle_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_02" ] = %fxanim_gp_seagull_circle_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_03" ] = %fxanim_gp_seagull_circle_03_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "river_debris_barrel" ] = %fxanim_angola_river_debris_barrel_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "shark_fins" ] = %fxanim_mp_stu_shark_fins_anim;
|
||||
}
|
||||
|
||||
precache_fxanim_props_dlc3()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props_dlc3" ] = [];
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "speed_boat" ] = %viewmodel_fxanim_mp_cast_speed_boat_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "zodiac_boats" ] = %viewmodel_fxanim_mp_cast_zodiac_boats_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "palm_tree_float" ] = %viewmodel_fxanim_mp_cast_palm_tree_float_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "fish_grp_01" ] = %fxanim_mp_cast_fish_grp_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "floating_boxes" ] = %fxanim_mp_cast_floating_boxes_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "raft_ropes" ] = %fxanim_mp_cast_raft_ropes_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "floating_seaweed" ] = %fxanim_mp_cast_seaweed_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "floating_boxes_fx" ] = %fxanim_mp_cast_floating_boxes_fx_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "crab_blue_01_01" ] = %fxanim_mp_cast_crab_blue_01_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "crab_blue_01_02" ] = %fxanim_mp_cast_crab_blue_01_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "crab_blue_02_01" ] = %fxanim_mp_cast_crab_blue_02_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "crab_blue_02_02" ] = %fxanim_mp_cast_crab_blue_02_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "crab_blue_03_01" ] = %fxanim_mp_cast_crab_blue_03_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "crab_blue_03_02" ] = %fxanim_mp_cast_crab_blue_03_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "hammock" ] = %fxanim_mp_cast_hammock_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc3" ][ "vine_cluster" ] = %fxanim_gp_vine_cluster_anim;
|
||||
}
|
42
Multiplayer Maps/mp_concert/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_concert/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
1240
Multiplayer Maps/mp_concert/maps/mp/createfx/mp_concert_fx.gsc
Normal file
1240
Multiplayer Maps/mp_concert/maps/mp/createfx/mp_concert_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
136
Multiplayer Maps/mp_concert/maps/mp/mp_concert.gsc
Normal file
136
Multiplayer Maps/mp_concert/maps/mp/mp_concert.gsc
Normal file
@ -0,0 +1,136 @@
|
||||
#include maps/mp/gametypes/_spawning;
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
level.overrideplayerdeathwatchtimer = ::leveloverridetime;
|
||||
level.useintermissionpointsonwavespawn = ::useintermissionpointsonwavespawn;
|
||||
maps/mp/mp_concert_fx::main();
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_concert_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_concert" );
|
||||
setdvar( "compassmaxrange", "2100" );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
|
||||
level.remotemotarviewup = 18;
|
||||
level thread water_trigger_init();
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars );
|
||||
}
|
||||
|
||||
water_trigger_init()
|
||||
{
|
||||
wait 3;
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a61 = triggers;
|
||||
_k61 = getFirstArrayKey( _a61 );
|
||||
while ( isDefined( _k61 ) )
|
||||
{
|
||||
trigger = _a61[ _k61 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger thread water_trigger_think();
|
||||
}
|
||||
_k61 = getNextArrayKey( _a61, _k61 );
|
||||
}
|
||||
triggers = getentarray( "water_killbrush", "targetname" );
|
||||
_a73 = triggers;
|
||||
_k73 = getFirstArrayKey( _a73 );
|
||||
while ( isDefined( _k73 ) )
|
||||
{
|
||||
trigger = _a73[ _k73 ];
|
||||
trigger thread player_splash_think();
|
||||
_k73 = getNextArrayKey( _a73, _k73 );
|
||||
}
|
||||
}
|
||||
|
||||
player_splash_think()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "trigger", entity );
|
||||
if ( isplayer( entity ) && isalive( entity ) )
|
||||
{
|
||||
self thread trigger_thread( entity, ::player_water_fx );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
player_water_fx( player, endon_condition )
|
||||
{
|
||||
maxs = self.origin + self getmaxs();
|
||||
if ( maxs[ 2 ] > 60 )
|
||||
{
|
||||
maxs += vectorScale( ( 0, 0, 1 ), 10 );
|
||||
}
|
||||
origin = ( player.origin[ 0 ], player.origin[ 1 ], maxs[ 2 ] );
|
||||
playfx( level._effect[ "water_splash_sm" ], origin );
|
||||
}
|
||||
|
||||
water_trigger_think()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "trigger", entity );
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
entity playsound( "mpl_splash_death" );
|
||||
playfx( level._effect[ "water_splash" ], entity.origin + vectorScale( ( 0, 0, 1 ), 40 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
leveloverridetime( defaulttime )
|
||||
{
|
||||
if ( self isinwater() )
|
||||
{
|
||||
return 0,4;
|
||||
}
|
||||
return defaulttime;
|
||||
}
|
||||
|
||||
useintermissionpointsonwavespawn()
|
||||
{
|
||||
return self isinwater();
|
||||
}
|
||||
|
||||
isinwater()
|
||||
{
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a138 = triggers;
|
||||
_k138 = getFirstArrayKey( _a138 );
|
||||
while ( isDefined( _k138 ) )
|
||||
{
|
||||
trigger = _a138[ _k138 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( self istouching( trigger ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
_k138 = getNextArrayKey( _a138, _k138 );
|
||||
}
|
||||
return 0;
|
||||
}
|
24
Multiplayer Maps/mp_concert/maps/mp/mp_concert_amb.gsc
Normal file
24
Multiplayer Maps/mp_concert/maps/mp/mp_concert_amb.gsc
Normal file
@ -0,0 +1,24 @@
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level thread instruments_init();
|
||||
}
|
||||
|
||||
instruments_init()
|
||||
{
|
||||
inst_trigs = getentarray( "snd_instrument", "targetname" );
|
||||
array_thread( inst_trigs, ::play_instrument );
|
||||
}
|
||||
|
||||
play_instrument()
|
||||
{
|
||||
while ( 1 )
|
||||
{
|
||||
self waittill( "damage" );
|
||||
self playsound( self.script_noteworthy );
|
||||
wait 0,1;
|
||||
}
|
||||
}
|
95
Multiplayer Maps/mp_concert/maps/mp/mp_concert_fx.gsc
Normal file
95
Multiplayer Maps/mp_concert/maps/mp/mp_concert_fx.gsc
Normal file
@ -0,0 +1,95 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
#using_animtree( "fxanim_props_dlc" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_fxanim_props_dlc();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_concert_fx::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "water_splash" ] = loadfx( "bio/player/fx_player_water_splash_mp" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_lf_mp_concert_sun" ] = loadfx( "lens_flares/fx_lf_mp_concert_sun" );
|
||||
level._effect[ "fx_pigeon_panic_flight_med" ] = loadfx( "bio/animals/fx_pigeon_panic_flight_med" );
|
||||
level._effect[ "fx_leaves_ground_wind" ] = loadfx( "foliage/fx_leaves_ground_wind" );
|
||||
level._effect[ "fx_sand_gust_ground_sm" ] = loadfx( "dirt/fx_sand_gust_ground_sm" );
|
||||
level._effect[ "fx_sand_gust_ground_md_xslw" ] = loadfx( "dirt/fx_sand_gust_ground_md_xslw" );
|
||||
level._effect[ "fx_concert_leaves_falling_red" ] = loadfx( "foliage/fx_concert_leaves_falling_red" );
|
||||
level._effect[ "fx_concert_leaves_falling_orange" ] = loadfx( "foliage/fx_concert_leaves_falling_orange" );
|
||||
level._effect[ "fx_leaves_ground_windy" ] = loadfx( "foliage/fx_leaves_ground_windy" );
|
||||
level._effect[ "fx_patio_flame_lamp_heat" ] = loadfx( "props/fx_patio_flame_lamp_heat" );
|
||||
level._effect[ "fx_water_sprinkler_drip_physics" ] = loadfx( "water/fx_water_sprinkler_drip_physics" );
|
||||
level._effect[ "fx_fire_fireplace_md2" ] = loadfx( "fire/fx_fire_fireplace_md2" );
|
||||
level._effect[ "fx_smk_linger_lit" ] = loadfx( "smoke/fx_concert_smk_linger_lit" );
|
||||
level._effect[ "fx_concert_smk_field_md" ] = loadfx( "smoke/fx_concert_smk_field_md" );
|
||||
level._effect[ "fx_light_floodlight_sqr_cool_xlg" ] = loadfx( "light/fx_light_floodlight_sqr_cool_xlg" );
|
||||
level._effect[ "fx_light_buoy_red_blink" ] = loadfx( "light/fx_light_buoy_red_blink" );
|
||||
level._effect[ "fx_light_floodlight_stadium_lg" ] = loadfx( "light/fx_light_floodlight_stadium_lg" );
|
||||
level._effect[ "fx_light_stagelight_wht" ] = loadfx( "light/fx_light_stagelight_wht" );
|
||||
level._effect[ "fx_concert_can_light_blue" ] = loadfx( "light/fx_concert_can_light_blue" );
|
||||
level._effect[ "fx_concert_can_light_blue_static" ] = loadfx( "light/fx_concert_can_light_blue_static" );
|
||||
level._effect[ "fx_concert_can_light_purple" ] = loadfx( "light/fx_concert_can_light_purple" );
|
||||
level._effect[ "fx_concert_can_light_red" ] = loadfx( "light/fx_concert_can_light_red" );
|
||||
level._effect[ "fx_concert_can_light_red_static" ] = loadfx( "light/fx_concert_can_light_red_static" );
|
||||
level._effect[ "fx_light_spotlight_md_cool" ] = loadfx( "light/fx_light_spotlight_md_cool" );
|
||||
level._effect[ "fx_light_baracade_yellow" ] = loadfx( "light/fx_light_baracade_yellow" );
|
||||
level._effect[ "fx_light_fluorescent_overhead_bright" ] = loadfx( "light/fx_light_fluorescent_overhead_bright" );
|
||||
level._effect[ "fx_light_flourescent_ceiling_panel_2" ] = loadfx( "light/fx_light_flourescent_ceiling_panel_2" );
|
||||
level._effect[ "fx_track_light" ] = loadfx( "light/fx_track_light" );
|
||||
level._effect[ "fx_light_button_yellow_on" ] = loadfx( "light/fx_light_button_yellow_on" );
|
||||
level._effect[ "fx_light_vend_machine_sm_orange" ] = loadfx( "light/fx_light_vend_machine_sm_orange" );
|
||||
level._effect[ "fx_light_vend_machine_sm_blue" ] = loadfx( "light/fx_light_vend_machine_sm_blue" );
|
||||
level._effect[ "fx_concert_bathroom_monitor_glow" ] = loadfx( "light/fx_concert_bathroom_monitor_glow" );
|
||||
level._effect[ "fx_concert_bath_hygiene_box_glow" ] = loadfx( "light/fx_concert_bath_hygiene_box_glow" );
|
||||
level._effect[ "fx_concert_hand_dryer_glow" ] = loadfx( "light/fx_concert_hand_dryer_glow" );
|
||||
level._effect[ "fx_light_com_utility_cool" ] = loadfx( "light/fx_light_com_utility_cool" );
|
||||
level._effect[ "fx_light_exit_sign_glow" ] = loadfx( "light/fx_light_exit_sign_glow" );
|
||||
level._effect[ "fx_light_recessed_cool" ] = loadfx( "light/fx_light_recessed_cool" );
|
||||
level._effect[ "fx_light_recessed_wrm" ] = loadfx( "light/fx_light_recessed_wrm" );
|
||||
level._effect[ "fx_light_hanging_modern" ] = loadfx( "light/fx_light_hanging_modern" );
|
||||
level._effect[ "fx_light_neon_open_sign" ] = loadfx( "light/fx_light_neon_open_sign" );
|
||||
level._effect[ "fx_concert_light_ceiling_recessed_short" ] = loadfx( "light/fx_concert_light_ceiling_recessed_short" );
|
||||
level._effect[ "fx_concert_light_ceiling_recessed" ] = loadfx( "light/fx_concert_light_ceiling_recessed" );
|
||||
level._effect[ "fx_light_exit_sign_glow_yellowish" ] = loadfx( "light/fx_light_exit_sign_glow_yellowish" );
|
||||
level._effect[ "fx_light_flour_glow_v_shape_cool" ] = loadfx( "light/fx_light_flour_glow_v_shape_cool" );
|
||||
level._effect[ "fx_light_flour_glow_v_shape_cool_sm" ] = loadfx( "light/fx_light_flour_glow_v_shape_cool_sm" );
|
||||
level._effect[ "fx_concert_light_ray_sun_lg_spread_1s" ] = loadfx( "light/fx_concert_light_ray_sun_lg_spread_1s" );
|
||||
level._effect[ "fx_concert_light_ray_sun_md_1s" ] = loadfx( "light/fx_concert_light_ray_sun_md_1s" );
|
||||
level._effect[ "fx_concert_light_ray_sun_md_short_1s" ] = loadfx( "light/fx_concert_light_ray_sun_md_short_1s" );
|
||||
level._effect[ "fx_concert_light_ray_sun_md_spread_1s" ] = loadfx( "light/fx_concert_light_ray_sun_md_spread_1s" );
|
||||
level._effect[ "fx_concert_light_ray_sun_md_wide_1s" ] = loadfx( "light/fx_concert_light_ray_sun_md_wide_1s" );
|
||||
level._effect[ "fx_concert_light_ray_sun_window_1s" ] = loadfx( "light/fx_concert_light_ray_sun_window_1s" );
|
||||
level._effect[ "fx_light_dust_motes_xsm_short" ] = loadfx( "light/fx_concert_dust_motes_xsm_short" );
|
||||
level._effect[ "fx_light_dust_motes_sm" ] = loadfx( "light/fx_light_dust_motes_sm" );
|
||||
level._effect[ "fx_dust_motes_blowing_sm" ] = loadfx( "debris/fx_dust_motes_blowing_sm" );
|
||||
level._effect[ "fx_concert_fountain_sides" ] = loadfx( "water/fx_concert_fountain_sides" );
|
||||
level._effect[ "fx_concert_fountain_middle" ] = loadfx( "water/fx_concert_fountain_middle" );
|
||||
level._effect[ "fx_insects_butterfly_flutter_radial2" ] = loadfx( "bio/insects/fx_insects_butterfly_flutter_radial2" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_01" ] = %fxanim_gp_seagull_circle_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_02" ] = %fxanim_gp_seagull_circle_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_03" ] = %fxanim_gp_seagull_circle_03_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "london_eye" ] = %fxanim_mp_con_london_eye_anim;
|
||||
}
|
||||
|
||||
precache_fxanim_props_dlc()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "wires_stage_rear" ] = %fxanim_mp_con_wires_stage_rear_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "wires_stage_scaffold" ] = %fxanim_mp_con_wires_stage_scaffold_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "wires_seats_scaffold" ] = %fxanim_mp_con_wires_seats_scaffold_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "river_boats" ] = %fxanim_mp_con_boat_link_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "wires_stage_right" ] = %fxanim_mp_con_wires_stage_right_anim;
|
||||
}
|
42
Multiplayer Maps/mp_dig/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_dig/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
1730
Multiplayer Maps/mp_dig/maps/mp/createfx/mp_dig_fx.gsc
Normal file
1730
Multiplayer Maps/mp_dig/maps/mp/createfx/mp_dig_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
52
Multiplayer Maps/mp_dig/maps/mp/mp_dig.gsc
Normal file
52
Multiplayer Maps/mp_dig/maps/mp/mp_dig.gsc
Normal file
@ -0,0 +1,52 @@
|
||||
#include maps/mp/gametypes/_spawning;
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
maps/mp/mp_dig_fx::main();
|
||||
precachemodel( "collision_clip_wall_32x32x10" );
|
||||
precachemodel( "p6_dig_brick_03" );
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_dig_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_dig" );
|
||||
setdvar( "compassmaxrange", "2100" );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
brick1 = spawn( "script_model", ( -5,6285, 604,473, 39,05 ) );
|
||||
brick1.angles = ( 359,199, 90,0129, -0,822672 );
|
||||
brick2 = spawn( "script_model", ( -12,63, 604,47, 39,05 ) );
|
||||
brick2.angles = ( 359,199, 90,0129, -0,822672 );
|
||||
brick3 = spawn( "script_model", ( -5,63, 614,97, 39,05 ) );
|
||||
brick3.angles = ( 359,199, 90,0129, -0,822672 );
|
||||
brick4 = spawn( "script_model", ( -12,63, 614,97, 39,05 ) );
|
||||
brick4.angles = ( 359,199, 90,0129, -0,822672 );
|
||||
brick5 = spawn( "script_model", ( -5,63, 629,47, 39,55 ) );
|
||||
brick5.angles = ( 359,199, 90,0129, -0,822672 );
|
||||
brick6 = spawn( "script_model", ( -12,63, 629,47, 39,55 ) );
|
||||
brick6.angles = ( 359,199, 90,0129, -0,822672 );
|
||||
brick1 setmodel( "p6_dig_brick_03" );
|
||||
brick2 setmodel( "p6_dig_brick_03" );
|
||||
brick3 setmodel( "p6_dig_brick_03" );
|
||||
brick4 setmodel( "p6_dig_brick_03" );
|
||||
brick5 setmodel( "p6_dig_brick_03" );
|
||||
brick6 setmodel( "p6_dig_brick_03" );
|
||||
spawncollision( "collision_clip_wall_32x32x10", "collider", ( -1404, -1126, 46,5 ), vectorScale( ( 0, 1, 0 ), 90 ) );
|
||||
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2300", reset_dvars );
|
||||
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
|
||||
}
|
6
Multiplayer Maps/mp_dig/maps/mp/mp_dig_amb.gsc
Normal file
6
Multiplayer Maps/mp_dig/maps/mp/mp_dig_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
59
Multiplayer Maps/mp_dig/maps/mp/mp_dig_fx.gsc
Normal file
59
Multiplayer Maps/mp_dig/maps/mp/mp_dig_fx.gsc
Normal file
@ -0,0 +1,59 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
#using_animtree( "fxanim_props_dlc4" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_fxanim_props_dlc4();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_dig_fx::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_lf_mp_dig_sun1" ] = loadfx( "lens_flares/fx_lf_mp_dig_sun1" );
|
||||
level._effect[ "fx_mp_dig_floor_swirl_sm" ] = loadfx( "maps/mp_maps/fx_mp_dig_floor_swirl_sm" );
|
||||
level._effect[ "fx_mp_dig_floor_swirl_lg" ] = loadfx( "maps/mp_maps/fx_mp_dig_floor_swirl_lg" );
|
||||
level._effect[ "fx_mp_dig_dust" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust" );
|
||||
level._effect[ "fx_mp_dig_dust_fall" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust_fall" );
|
||||
level._effect[ "fx_mp_dig_dust_fall_2" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust_fall_2" );
|
||||
level._effect[ "fx_mp_dig_dust_fall_3" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust_fall_3" );
|
||||
level._effect[ "fx_mp_dig_dust_floor" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust_floor" );
|
||||
level._effect[ "fx_mp_dig_dust_floor_fall" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust_floor_fall" );
|
||||
level._effect[ "fx_mp_dig_dust_fall_pill" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust_fall_pill" );
|
||||
level._effect[ "fx_mp_dig_vista_dust" ] = loadfx( "maps/mp_maps/fx_mp_dig_vista_dust" );
|
||||
level._effect[ "fx_mp_dig_vista_dust_sm" ] = loadfx( "maps/mp_maps/fx_mp_dig_vista_dust_sm" );
|
||||
level._effect[ "fx_mp_dig_vista_dust_close" ] = loadfx( "maps/mp_maps/fx_mp_dig_vista_dust_close" );
|
||||
level._effect[ "fx_mp_dig_heat_distort" ] = loadfx( "maps/mp_maps/fx_mp_dig_heat_distort" );
|
||||
level._effect[ "fx_mp_dig_dust_lg" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust_lg" );
|
||||
level._effect[ "fx_mp_dig_vista_birds" ] = loadfx( "maps/mp_maps/fx_mp_dig_vista_birds" );
|
||||
level._effect[ "fx_mp_dig_godray" ] = loadfx( "maps/mp_maps/fx_mp_dig_godray" );
|
||||
level._effect[ "fx_mp_dig_godray_wide" ] = loadfx( "maps/mp_maps/fx_mp_dig_godray_wide" );
|
||||
level._effect[ "fx_mp_dig_flood_light" ] = loadfx( "maps/mp_maps/fx_mp_dig_flood_light" );
|
||||
level._effect[ "fx_mp_dig_dust_mote" ] = loadfx( "maps/mp_maps/fx_mp_dig_dust_mote" );
|
||||
level._effect[ "fx_mp_dig_gas_drip" ] = loadfx( "maps/mp_maps/fx_mp_dig_gas_drip" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "roaches" ] = %fxanim_gp_roaches_anim;
|
||||
}
|
||||
|
||||
precache_fxanim_props_dlc4()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "wires_yellow_01" ] = %fxanim_mp_dig_wires_yellow_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "wires_yellow_02" ] = %fxanim_mp_dig_wires_yellow_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "wires_yellow_03" ] = %fxanim_mp_dig_wires_yellow_03_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "ropes_01" ] = %fxanim_mp_dig_ropes_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "fuel_pipe" ] = %fxanim_mp_dig_fuel_pipe_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "wires_yellow_04" ] = %fxanim_mp_dig_wires_yellow_04_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "wires_yellow_05" ] = %fxanim_mp_dig_wires_yellow_05_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "wires_yellow_06" ] = %fxanim_mp_dig_wires_yellow_06_anim;
|
||||
}
|
42
Multiplayer Maps/mp_dockside/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_dockside/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
/#
|
||||
assert( 0, "Not supposed to be used in MP" );
|
||||
#/
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
/#
|
||||
assert( 0, "Not supposed to be used in MP" );
|
||||
#/
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
/#
|
||||
assert( 0, "Not supposed to be used in MP" );
|
||||
#/
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
|
||||
main()
|
||||
{
|
||||
level.tweakfile = 1;
|
||||
setdvar( "scr_fog_exp_halfplane", "3759.28" );
|
||||
setdvar( "scr_fog_exp_halfheight", "243.735" );
|
||||
setdvar( "scr_fog_nearplane", "601.593" );
|
||||
setdvar( "scr_fog_red", "0.806694" );
|
||||
setdvar( "scr_fog_green", "0.962521" );
|
||||
setdvar( "scr_fog_blue", "0.9624" );
|
||||
setdvar( "scr_fog_baseheight", "-475.268" );
|
||||
setdvar( "visionstore_glowTweakEnable", "0" );
|
||||
setdvar( "visionstore_glowTweakRadius0", "5" );
|
||||
setdvar( "visionstore_glowTweakRadius1", "" );
|
||||
setdvar( "visionstore_glowTweakBloomCutoff", "0.5" );
|
||||
setdvar( "visionstore_glowTweakBloomDesaturation", "0" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity0", "1" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity1", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity0", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity1", "" );
|
||||
start_dist = 501,064;
|
||||
half_dist = 5397,69;
|
||||
half_height = 765,766;
|
||||
base_height = 3,88835;
|
||||
fog_r = 0,721569;
|
||||
fog_g = 0,803922;
|
||||
fog_b = 0,929412;
|
||||
fog_scale = 2,76409;
|
||||
sun_col_r = 1;
|
||||
sun_col_g = 1;
|
||||
sun_col_b = 1;
|
||||
sun_dir_x = 0,41452;
|
||||
sun_dir_y = 0,909807;
|
||||
sun_dir_z = 0,0206221;
|
||||
sun_start_ang = 0;
|
||||
sun_stop_ang = 104,831;
|
||||
time = 0;
|
||||
max_fog_opacity = 0,91391;
|
||||
setvolfog( start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale, sun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, sun_stop_ang, time, max_fog_opacity );
|
||||
visionsetnaked( "mp_dockside", 0 );
|
||||
}
|
1926
Multiplayer Maps/mp_dockside/maps/mp/createfx/mp_dockside_fx.gsc
Normal file
1926
Multiplayer Maps/mp_dockside/maps/mp/createfx/mp_dockside_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
188
Multiplayer Maps/mp_dockside/maps/mp/mp_dockside.gsc
Normal file
188
Multiplayer Maps/mp_dockside/maps/mp/mp_dockside.gsc
Normal file
@ -0,0 +1,188 @@
|
||||
#include maps/mp/mp_dockside_crane;
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
maps/mp/mp_dockside_fx::main();
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_dockside_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_dockside" );
|
||||
level.overrideplayerdeathwatchtimer = ::leveloverridetime;
|
||||
level.useintermissionpointsonwavespawn = ::useintermissionpointsonwavespawn;
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
setdvar( "sm_sunsamplesizenear", 0,39 );
|
||||
setdvar( "sm_sunshadowsmall", 1 );
|
||||
if ( getgametypesetting( "allowMapScripting" ) )
|
||||
{
|
||||
level maps/mp/mp_dockside_crane::init();
|
||||
}
|
||||
else
|
||||
{
|
||||
crate_triggers = getentarray( "crate_kill_trigger", "targetname" );
|
||||
i = 0;
|
||||
while ( i < crate_triggers.size )
|
||||
{
|
||||
crate_triggers[ i ] delete();
|
||||
i++;
|
||||
}
|
||||
}
|
||||
setheliheightpatchenabled( "war_mode_heli_height_lock", 0 );
|
||||
level thread water_trigger_init();
|
||||
rts_remove();
|
||||
/#
|
||||
level thread devgui_dockside();
|
||||
execdevgui( "devgui_mp_dockside" );
|
||||
#/
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2700", reset_dvars );
|
||||
}
|
||||
|
||||
water_trigger_init()
|
||||
{
|
||||
wait 3;
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a80 = triggers;
|
||||
_k80 = getFirstArrayKey( _a80 );
|
||||
while ( isDefined( _k80 ) )
|
||||
{
|
||||
trigger = _a80[ _k80 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger thread water_trigger_think();
|
||||
}
|
||||
_k80 = getNextArrayKey( _a80, _k80 );
|
||||
}
|
||||
}
|
||||
|
||||
water_trigger_think()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "trigger", entity );
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
entity playsound( "mpl_splash_death" );
|
||||
playfx( level._effect[ "water_splash" ], entity.origin + vectorScale( ( 0, 0, 1 ), 40 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
leveloverridetime( defaulttime )
|
||||
{
|
||||
if ( self isinwater() )
|
||||
{
|
||||
return 0,4;
|
||||
}
|
||||
return defaulttime;
|
||||
}
|
||||
|
||||
useintermissionpointsonwavespawn()
|
||||
{
|
||||
return self isinwater();
|
||||
}
|
||||
|
||||
isinwater()
|
||||
{
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a126 = triggers;
|
||||
_k126 = getFirstArrayKey( _a126 );
|
||||
while ( isDefined( _k126 ) )
|
||||
{
|
||||
trigger = _a126[ _k126 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( self istouching( trigger ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
_k126 = getNextArrayKey( _a126, _k126 );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
rts_remove()
|
||||
{
|
||||
removes = getentarray( "rts_only", "targetname" );
|
||||
_a145 = removes;
|
||||
_k145 = getFirstArrayKey( _a145 );
|
||||
while ( isDefined( _k145 ) )
|
||||
{
|
||||
remove = _a145[ _k145 ];
|
||||
if ( isDefined( remove ) )
|
||||
{
|
||||
remove delete();
|
||||
}
|
||||
_k145 = getNextArrayKey( _a145, _k145 );
|
||||
}
|
||||
}
|
||||
|
||||
devgui_dockside()
|
||||
{
|
||||
/#
|
||||
setdvar( "devgui_notify", "" );
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,5;
|
||||
devgui_string = getDvar( "devgui_notify" );
|
||||
switch( devgui_string )
|
||||
{
|
||||
case "":
|
||||
break;
|
||||
case "crane_print_dvars":
|
||||
crane_print_dvars();
|
||||
break;
|
||||
default:
|
||||
}
|
||||
if ( getDvar( "devgui_notify" ) != "" )
|
||||
{
|
||||
setdvar( "devgui_notify", "" );
|
||||
}
|
||||
#/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
crane_print_dvars()
|
||||
{
|
||||
/#
|
||||
dvars = [];
|
||||
dvars[ dvars.size ] = "scr_crane_claw_move_time";
|
||||
dvars[ dvars.size ] = "scr_crane_crate_lower_time";
|
||||
dvars[ dvars.size ] = "scr_crane_crate_raise_time";
|
||||
dvars[ dvars.size ] = "scr_crane_arm_y_move_time";
|
||||
dvars[ dvars.size ] = "scr_crane_arm_z_move_time";
|
||||
dvars[ dvars.size ] = "scr_crane_claw_drop_speed";
|
||||
dvars[ dvars.size ] = "scr_crane_claw_drop_time_min";
|
||||
_a199 = dvars;
|
||||
_k199 = getFirstArrayKey( _a199 );
|
||||
while ( isDefined( _k199 ) )
|
||||
{
|
||||
dvar = _a199[ _k199 ];
|
||||
print( dvar + ": " );
|
||||
println( getDvar( dvar ) );
|
||||
_k199 = getNextArrayKey( _a199, _k199 );
|
||||
#/
|
||||
}
|
||||
}
|
6
Multiplayer Maps/mp_dockside/maps/mp/mp_dockside_amb.gsc
Normal file
6
Multiplayer Maps/mp_dockside/maps/mp/mp_dockside_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
770
Multiplayer Maps/mp_dockside/maps/mp/mp_dockside_crane.gsc
Normal file
770
Multiplayer Maps/mp_dockside/maps/mp/mp_dockside_crane.gsc
Normal file
@ -0,0 +1,770 @@
|
||||
#include maps/mp/killstreaks/_supplydrop;
|
||||
#include maps/mp/gametypes/_gameobjects;
|
||||
#include maps/mp/gametypes/ctf;
|
||||
#include maps/mp/gametypes/_weaponobjects;
|
||||
#include maps/mp/killstreaks/_rcbomb;
|
||||
#include maps/mp/_tacticalinsertion;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
init()
|
||||
{
|
||||
precachemodel( "p6_dockside_container_lrg_white" );
|
||||
crane_dvar_init();
|
||||
level.crate_models = [];
|
||||
level.crate_models[ 0 ] = "p6_dockside_container_lrg_red";
|
||||
level.crate_models[ 1 ] = "p6_dockside_container_lrg_blue";
|
||||
level.crate_models[ 2 ] = "p6_dockside_container_lrg_white";
|
||||
level.crate_models[ 3 ] = "p6_dockside_container_lrg_orange";
|
||||
claw = getent( "claw_base", "targetname" );
|
||||
claw.z_upper = claw.origin[ 2 ];
|
||||
claw thread sound_wires_move();
|
||||
arms_y = getentarray( "claw_arm_y", "targetname" );
|
||||
arms_z = getentarray( "claw_arm_z", "targetname" );
|
||||
claw.arms = arraycombine( arms_y, arms_z, 1, 0 );
|
||||
_a32 = arms_z;
|
||||
_k32 = getFirstArrayKey( _a32 );
|
||||
while ( isDefined( _k32 ) )
|
||||
{
|
||||
arm_z = _a32[ _k32 ];
|
||||
arm_y = getclosest( arm_z.origin, arms_y );
|
||||
arm_z.parent = arm_y;
|
||||
_k32 = getNextArrayKey( _a32, _k32 );
|
||||
}
|
||||
_a39 = arms_y;
|
||||
_k39 = getFirstArrayKey( _a39 );
|
||||
while ( isDefined( _k39 ) )
|
||||
{
|
||||
arm_y = _a39[ _k39 ];
|
||||
arm_y.parent = claw;
|
||||
_k39 = getNextArrayKey( _a39, _k39 );
|
||||
}
|
||||
claw claw_link_arms( "claw_arm_y" );
|
||||
claw claw_link_arms( "claw_arm_z" );
|
||||
crates = getentarray( "crate", "targetname" );
|
||||
array_thread( crates, ::sound_pit_move );
|
||||
crate_data = [];
|
||||
i = 0;
|
||||
while ( i < crates.size )
|
||||
{
|
||||
crates[ i ] disconnectpaths();
|
||||
data = spawnstruct();
|
||||
data.origin = crates[ i ].origin;
|
||||
data.angles = crates[ i ].angles;
|
||||
crate_data[ i ] = data;
|
||||
i++;
|
||||
}
|
||||
rail = getent( "crane_rail", "targetname" );
|
||||
rail thread sound_ring_move();
|
||||
rail.roller = getent( "crane_roller", "targetname" );
|
||||
rail.roller.wheel = getent( "crane_wheel", "targetname" );
|
||||
claw.wires = getentarray( "crane_wire", "targetname" );
|
||||
claw.z_wire_max = rail.roller.wheel.origin[ 2 ] - 50;
|
||||
_a73 = claw.wires;
|
||||
_k73 = getFirstArrayKey( _a73 );
|
||||
while ( isDefined( _k73 ) )
|
||||
{
|
||||
wire = _a73[ _k73 ];
|
||||
wire linkto( claw );
|
||||
if ( wire.origin[ 2 ] > claw.z_wire_max )
|
||||
{
|
||||
wire ghost();
|
||||
}
|
||||
_k73 = getNextArrayKey( _a73, _k73 );
|
||||
}
|
||||
placements = getentarray( "crate_placement", "targetname" );
|
||||
_a85 = placements;
|
||||
_k85 = getFirstArrayKey( _a85 );
|
||||
while ( isDefined( _k85 ) )
|
||||
{
|
||||
placement = _a85[ _k85 ];
|
||||
placement.angles += vectorScale( ( 0, 0, 1 ), 90 );
|
||||
crates[ crates.size ] = spawn( "script_model", placement.origin );
|
||||
_k85 = getNextArrayKey( _a85, _k85 );
|
||||
}
|
||||
triggers = getentarray( "crate_kill_trigger", "targetname" );
|
||||
_a93 = crates;
|
||||
_k93 = getFirstArrayKey( _a93 );
|
||||
while ( isDefined( _k93 ) )
|
||||
{
|
||||
crate = _a93[ _k93 ];
|
||||
crate.kill_trigger = getclosest( crate.origin, triggers );
|
||||
crate.kill_trigger.origin = crate.origin - vectorScale( ( 0, 0, 1 ), 5 );
|
||||
crate.kill_trigger enablelinkto();
|
||||
crate.kill_trigger linkto( crate );
|
||||
if ( crate.model != "" )
|
||||
{
|
||||
crate.kill_trigger.active = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
crate.kill_trigger.active = 0;
|
||||
}
|
||||
_k93 = getNextArrayKey( _a93, _k93 );
|
||||
}
|
||||
trigger = getclosest( claw.origin, triggers );
|
||||
trigger enablelinkto();
|
||||
trigger linkto( claw );
|
||||
trigger.active = 1;
|
||||
placements = array_randomize( placements );
|
||||
level thread crane_think( claw, rail, crates, crate_data, placements );
|
||||
}
|
||||
|
||||
crane_dvar_init()
|
||||
{
|
||||
set_dvar_float_if_unset( "scr_crane_claw_move_time", "5" );
|
||||
set_dvar_float_if_unset( "scr_crane_crate_lower_time", "5" );
|
||||
set_dvar_float_if_unset( "scr_crane_crate_raise_time", "5" );
|
||||
set_dvar_float_if_unset( "scr_crane_arm_y_move_time", "3" );
|
||||
set_dvar_float_if_unset( "scr_crane_arm_z_move_time", "3" );
|
||||
set_dvar_float_if_unset( "scr_crane_claw_drop_speed", "25" );
|
||||
set_dvar_float_if_unset( "scr_crane_claw_drop_time_min", "5" );
|
||||
}
|
||||
|
||||
wire_render()
|
||||
{
|
||||
self endon( "movedone" );
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,05;
|
||||
_a139 = self.wires;
|
||||
_k139 = getFirstArrayKey( _a139 );
|
||||
while ( isDefined( _k139 ) )
|
||||
{
|
||||
wire = _a139[ _k139 ];
|
||||
if ( wire.origin[ 2 ] > self.z_wire_max )
|
||||
{
|
||||
wire ghost();
|
||||
}
|
||||
else
|
||||
{
|
||||
wire show();
|
||||
}
|
||||
_k139 = getNextArrayKey( _a139, _k139 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
crane_think( claw, rail, crates, crate_data, placements )
|
||||
{
|
||||
wait 1;
|
||||
claw arms_open();
|
||||
for ( ;; )
|
||||
{
|
||||
i = 0;
|
||||
while ( i < ( crates.size - placements.size ) )
|
||||
{
|
||||
crate = getclosest( crate_data[ i ].origin, crates );
|
||||
rail crane_move( claw, crate_data[ i ], -318 );
|
||||
level notify( "wires_move" );
|
||||
claw claw_crate_grab( crate, 318 );
|
||||
lower = 1;
|
||||
target = ( i + 1 ) % ( crates.size - placements.size );
|
||||
target_crate = getclosest( crate_data[ target ].origin, crates );
|
||||
while ( cointoss() )
|
||||
{
|
||||
placement_index = 0;
|
||||
while ( placement_index < placements.size )
|
||||
{
|
||||
placement = placements[ placement_index ];
|
||||
if ( !isDefined( placement.crate ) )
|
||||
{
|
||||
lower = 0;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
placement_index++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( !lower )
|
||||
{
|
||||
z_dist = crate.origin[ 2 ] - placement.origin[ 2 ] - 33;
|
||||
rail crane_move( claw, placement, z_dist * -1 );
|
||||
level notify( "wires_move" );
|
||||
placement.crate = crate;
|
||||
}
|
||||
else
|
||||
{
|
||||
rail crane_move( claw, crate_data[ target ], -181 );
|
||||
level notify( "wires_move" );
|
||||
}
|
||||
claw claw_crate_move( crate );
|
||||
if ( lower )
|
||||
{
|
||||
crate crate_lower( target_crate, crate_data[ target ] );
|
||||
}
|
||||
crate = target_crate;
|
||||
target = ( i + 2 ) % ( crates.size - placements.size );
|
||||
target_crate = getclosest( crate_data[ target ].origin, crates );
|
||||
if ( !lower )
|
||||
{
|
||||
crate = crates[ 3 + placement_index ];
|
||||
crate.origin = target_crate.origin - vectorScale( ( 0, 0, 1 ), 137 );
|
||||
crate.angles = target_crate.angles;
|
||||
wait 0,25;
|
||||
claw waittill( "movedone" );
|
||||
}
|
||||
crate crate_raise( target_crate, crate_data[ target ] );
|
||||
rail crane_move( claw, crate_data[ target ], -181 );
|
||||
level notify( "wires_move" );
|
||||
claw claw_crate_grab( target_crate, 181 );
|
||||
crate = target_crate;
|
||||
target = ( i + 3 ) % ( crates.size - placements.size );
|
||||
rail crane_move( claw, crate_data[ target ], -318 );
|
||||
level notify( "wires_move" );
|
||||
claw claw_crate_drop( crate, crate_data[ target ] );
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
crane_move( claw, desired, z_dist )
|
||||
{
|
||||
self.roller linkto( self );
|
||||
self.roller.wheel linkto( self.roller );
|
||||
claw linkto( self.roller.wheel );
|
||||
goal = ( desired.origin[ 0 ], desired.origin[ 1 ], self.origin[ 2 ] );
|
||||
dir = vectornormalize( goal - self.origin );
|
||||
angles = vectorToAngle( dir );
|
||||
angles = ( self.angles[ 0 ], angles[ 1 ] + 90, self.angles[ 2 ] );
|
||||
yawdiff = absangleclamp360( self.angles[ 1 ] - angles[ 1 ] );
|
||||
time = yawdiff / 25;
|
||||
self rotateto( angles, time, time * 0,35, time * 0,45 );
|
||||
self thread physics_move();
|
||||
level notify( "wires_stop" );
|
||||
level notify( "ring_move" );
|
||||
self waittill( "rotatedone" );
|
||||
self.roller unlink();
|
||||
goal = ( desired.origin[ 0 ], desired.origin[ 1 ], self.roller.origin[ 2 ] );
|
||||
diff = distance2d( goal, self.roller.origin );
|
||||
speed = getDvarFloat( #"C39D2ABF" );
|
||||
time = diff / speed;
|
||||
if ( time < getDvarFloat( #"F60036C0" ) )
|
||||
{
|
||||
time = getDvarFloat( #"F60036C0" );
|
||||
}
|
||||
self.roller moveto( goal, time, time * 0,25, time * 0,25 );
|
||||
self.roller thread physics_move();
|
||||
goal = ( desired.origin[ 0 ], desired.origin[ 1 ], self.roller.wheel.origin[ 2 ] );
|
||||
self.roller.wheel unlink();
|
||||
self.roller.wheel moveto( goal, time, time * 0,25, time * 0,25 );
|
||||
self.roller.wheel rotateto( desired.angles + vectorScale( ( 0, 0, 1 ), 90 ), time, time * 0,25, time * 0,25 );
|
||||
claw.z_initial = claw.origin[ 2 ];
|
||||
claw unlink();
|
||||
claw rotateto( desired.angles, time, time * 0,25, time * 0,25 );
|
||||
claw.goal = ( goal[ 0 ], goal[ 1 ], claw.origin[ 2 ] + z_dist );
|
||||
claw.time = time;
|
||||
claw moveto( claw.goal, time, time * 0,25, time * 0,25 );
|
||||
level notify( "ring_stop" );
|
||||
}
|
||||
|
||||
physics_move()
|
||||
{
|
||||
self endon( "rotatedone" );
|
||||
self endon( "movedone" );
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,05;
|
||||
crates = getentarray( "care_package", "script_noteworthy" );
|
||||
_a318 = crates;
|
||||
_k318 = getFirstArrayKey( _a318 );
|
||||
while ( isDefined( _k318 ) )
|
||||
{
|
||||
crate = _a318[ _k318 ];
|
||||
if ( crate istouching( self ) )
|
||||
{
|
||||
crate physicslaunch( crate.origin, ( 0, 0, 1 ) );
|
||||
}
|
||||
_k318 = getNextArrayKey( _a318, _k318 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
claw_crate_grab( crate, z_dist )
|
||||
{
|
||||
self thread wire_render();
|
||||
self waittill( "movedone" );
|
||||
level notify( "wires_stop" );
|
||||
self playsound( "amb_crane_arms_b" );
|
||||
self claw_z_arms( -33 );
|
||||
self playsound( "amb_crane_arms" );
|
||||
self arms_close( crate );
|
||||
crate movez( 33, getDvarFloat( #"92CC26F1" ) );
|
||||
self claw_z_arms( 33 );
|
||||
crate linkto( self );
|
||||
self movez( z_dist, getDvarFloat( #"33ED9F5F" ) );
|
||||
self thread wire_render();
|
||||
level notify( "wires_move" );
|
||||
self waittill( "movedone" );
|
||||
self playsound( "amb_crane_arms" );
|
||||
}
|
||||
|
||||
sound_wires_move()
|
||||
{
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "wires_move" );
|
||||
self playsound( "amb_crane_wire_start" );
|
||||
self playloopsound( "amb_crane_wire_lp" );
|
||||
level waittill( "wires_stop" );
|
||||
self playsound( "amb_crane_wire_end" );
|
||||
wait 0,1;
|
||||
self stoploopsound( 0,2 );
|
||||
}
|
||||
}
|
||||
|
||||
sound_ring_move()
|
||||
{
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "ring_move" );
|
||||
self playsound( "amb_crane_ring_start" );
|
||||
self playloopsound( "amb_crane_ring_lp" );
|
||||
level waittill( "ring_stop" );
|
||||
self playsound( "amb_crane_ring_end" );
|
||||
wait 0,1;
|
||||
self stoploopsound( 0,2 );
|
||||
}
|
||||
}
|
||||
|
||||
sound_pit_move()
|
||||
{
|
||||
while ( 1 )
|
||||
{
|
||||
level waittill( "pit_move" );
|
||||
self playsound( "amb_crane_pit_start" );
|
||||
self playloopsound( "amb_crane_pit_lp" );
|
||||
level waittill( "pit_stop" );
|
||||
self playsound( "amb_crane_pit_end" );
|
||||
self stoploopsound( 0,2 );
|
||||
wait 0,2;
|
||||
}
|
||||
}
|
||||
|
||||
claw_crate_move( crate, claw )
|
||||
{
|
||||
self thread wire_render();
|
||||
self waittill( "movedone" );
|
||||
crate unlink();
|
||||
self playsound( "amb_crane_arms_b" );
|
||||
level notify( "wires_stop" );
|
||||
crate movez( -33, getDvarFloat( #"92CC26F1" ) );
|
||||
self claw_z_arms( -33 );
|
||||
self playsound( "amb_crane_arms_b" );
|
||||
playfxontag( level._effect[ "crane_dust" ], crate, "tag_origin" );
|
||||
crate playsound( "amb_crate_drop" );
|
||||
self arms_open();
|
||||
level notify( "wires_move" );
|
||||
self claw_z_arms( 33 );
|
||||
z_dist = self.z_initial - self.origin[ 2 ];
|
||||
self movez( z_dist, getDvarFloat( #"33ED9F5F" ) );
|
||||
self thread wire_render();
|
||||
}
|
||||
|
||||
claw_crate_drop( target, data )
|
||||
{
|
||||
target thread crate_drop_think( self );
|
||||
self thread wire_render();
|
||||
self waittill( "claw_movedone" );
|
||||
target unlink();
|
||||
level notify( "wires_stop" );
|
||||
self playsound( "amb_crane_arms_b" );
|
||||
target movez( -33, getDvarFloat( #"92CC26F1" ) );
|
||||
self claw_z_arms( -33 );
|
||||
playfxontag( level._effect[ "crane_dust" ], target, "tag_origin" );
|
||||
self playsound( "amb_crate_drop" );
|
||||
target notify( "claw_done" );
|
||||
self playsound( "amb_crane_arms" );
|
||||
self arms_open();
|
||||
level notify( "wires_move" );
|
||||
target.origin = data.origin;
|
||||
self claw_z_arms( 33 );
|
||||
self playsound( "amb_crane_arms" );
|
||||
self movez( 318, getDvarFloat( #"33ED9F5F" ) );
|
||||
self thread wire_render();
|
||||
self waittill( "movedone" );
|
||||
}
|
||||
|
||||
crate_lower( lower, data )
|
||||
{
|
||||
z_dist = abs( self.origin[ 2 ] - lower.origin[ 2 ] );
|
||||
self movez( z_dist * -1, getDvarFloat( #"CFA0F999" ) );
|
||||
lower movez( z_dist * -1, getDvarFloat( #"CFA0F999" ) );
|
||||
level notify( "pit_move" );
|
||||
lower waittill( "movedone" );
|
||||
level notify( "pit_stop" );
|
||||
lower ghost();
|
||||
self.origin = data.origin;
|
||||
wait 0,25;
|
||||
}
|
||||
|
||||
crate_raise( upper, data )
|
||||
{
|
||||
self crate_set_random_model( upper );
|
||||
self.kill_trigger.active = 1;
|
||||
self.origin = ( data.origin[ 0 ], data.origin[ 1 ], self.origin[ 2 ] );
|
||||
self.angles = data.angles;
|
||||
wait 0,2;
|
||||
self show();
|
||||
z_dist = abs( upper.origin[ 2 ] - self.origin[ 2 ] );
|
||||
self movez( z_dist, getDvarFloat( #"B4D4D064" ) );
|
||||
upper movez( z_dist, getDvarFloat( #"B4D4D064" ) );
|
||||
level notify( "wires_stop" );
|
||||
level notify( "pit_move" );
|
||||
upper thread raise_think();
|
||||
}
|
||||
|
||||
raise_think()
|
||||
{
|
||||
self waittill( "movedone" );
|
||||
level notify( "pit_stop" );
|
||||
}
|
||||
|
||||
crate_set_random_model( other )
|
||||
{
|
||||
models = array_randomize( level.crate_models );
|
||||
_a513 = models;
|
||||
_k513 = getFirstArrayKey( _a513 );
|
||||
while ( isDefined( _k513 ) )
|
||||
{
|
||||
model = _a513[ _k513 ];
|
||||
if ( model == other.model )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
self setmodel( model );
|
||||
return;
|
||||
}
|
||||
_k513 = getNextArrayKey( _a513, _k513 );
|
||||
}
|
||||
}
|
||||
|
||||
arms_open()
|
||||
{
|
||||
self claw_move_arms( -15 );
|
||||
self playsound( "amb_crane_arms" );
|
||||
}
|
||||
|
||||
arms_close( crate )
|
||||
{
|
||||
self claw_move_arms( 15, crate );
|
||||
self playsound( "amb_crane_arms" );
|
||||
}
|
||||
|
||||
claw_link_arms( name )
|
||||
{
|
||||
_a541 = self.arms;
|
||||
_k541 = getFirstArrayKey( _a541 );
|
||||
while ( isDefined( _k541 ) )
|
||||
{
|
||||
arm = _a541[ _k541 ];
|
||||
if ( arm.targetname == name )
|
||||
{
|
||||
arm linkto( arm.parent );
|
||||
}
|
||||
_k541 = getNextArrayKey( _a541, _k541 );
|
||||
}
|
||||
}
|
||||
|
||||
claw_unlink_arms( name )
|
||||
{
|
||||
_a552 = self.arms;
|
||||
_k552 = getFirstArrayKey( _a552 );
|
||||
while ( isDefined( _k552 ) )
|
||||
{
|
||||
arm = _a552[ _k552 ];
|
||||
if ( arm.targetname == name )
|
||||
{
|
||||
arm unlink();
|
||||
}
|
||||
_k552 = getNextArrayKey( _a552, _k552 );
|
||||
}
|
||||
}
|
||||
|
||||
claw_move_arms( dist, crate )
|
||||
{
|
||||
claw_unlink_arms( "claw_arm_y" );
|
||||
arms = [];
|
||||
_a566 = self.arms;
|
||||
_k566 = getFirstArrayKey( _a566 );
|
||||
while ( isDefined( _k566 ) )
|
||||
{
|
||||
arm = _a566[ _k566 ];
|
||||
if ( arm.targetname == "claw_arm_y" )
|
||||
{
|
||||
arms[ arms.size ] = arm;
|
||||
forward = anglesToForward( arm.angles );
|
||||
arm.goal = arm.origin + vectorScale( forward, dist );
|
||||
arm moveto( arm.goal, getDvarFloat( #"0D6F71B0" ) );
|
||||
}
|
||||
_k566 = getNextArrayKey( _a566, _k566 );
|
||||
}
|
||||
if ( dist > 0 )
|
||||
{
|
||||
wait ( getDvarFloat( #"0D6F71B0" ) / 2 );
|
||||
_a583 = self.arms;
|
||||
_k583 = getFirstArrayKey( _a583 );
|
||||
while ( isDefined( _k583 ) )
|
||||
{
|
||||
arm = _a583[ _k583 ];
|
||||
if ( arm.targetname == "claw_arm_y" )
|
||||
{
|
||||
arm moveto( arm.goal, 0,1 );
|
||||
self playsound( "amb_crane_arms_b" );
|
||||
}
|
||||
_k583 = getNextArrayKey( _a583, _k583 );
|
||||
}
|
||||
wait 0,05;
|
||||
playfxontag( level._effect[ "crane_spark" ], crate, "tag_origin" );
|
||||
self playsound( "amb_arms_latch" );
|
||||
}
|
||||
/#
|
||||
assert( arms.size == 4 );
|
||||
#/
|
||||
waittill_multiple_ents( arms[ 0 ], "movedone", arms[ 1 ], "movedone", arms[ 2 ], "movedone", arms[ 3 ], "movedone" );
|
||||
self claw_link_arms( "claw_arm_y" );
|
||||
}
|
||||
|
||||
claw_z_arms( z )
|
||||
{
|
||||
claw_unlink_arms( "claw_arm_z" );
|
||||
arms = [];
|
||||
_a609 = self.arms;
|
||||
_k609 = getFirstArrayKey( _a609 );
|
||||
while ( isDefined( _k609 ) )
|
||||
{
|
||||
arm = _a609[ _k609 ];
|
||||
if ( arm.targetname == "claw_arm_z" )
|
||||
{
|
||||
arms[ arms.size ] = arm;
|
||||
arm movez( z, getDvarFloat( #"92CC26F1" ) );
|
||||
}
|
||||
_k609 = getNextArrayKey( _a609, _k609 );
|
||||
}
|
||||
/#
|
||||
assert( arms.size == 4 );
|
||||
#/
|
||||
waittill_multiple_ents( arms[ 0 ], "movedone", arms[ 1 ], "movedone", arms[ 2 ], "movedone", arms[ 3 ], "movedone" );
|
||||
self claw_link_arms( "claw_arm_z" );
|
||||
}
|
||||
|
||||
crate_drop_think( claw )
|
||||
{
|
||||
self endon( "claw_done" );
|
||||
claw thread claw_drop_think();
|
||||
corpse_delay = 0;
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,2;
|
||||
entities = getdamageableentarray( self.origin, 200 );
|
||||
_a637 = entities;
|
||||
_k637 = getFirstArrayKey( _a637 );
|
||||
while ( isDefined( _k637 ) )
|
||||
{
|
||||
entity = _a637[ _k637 ];
|
||||
if ( !entity istouching( self.kill_trigger ) )
|
||||
{
|
||||
}
|
||||
else if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" )
|
||||
{
|
||||
entity maps/mp/_tacticalinsertion::destroy_tactical_insertion();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !isalive( entity ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( isDefined( entity.targetname ) )
|
||||
{
|
||||
if ( entity.targetname == "talon" )
|
||||
{
|
||||
entity notify( "death" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "rcbomb" )
|
||||
{
|
||||
entity maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "riotshield_mp" )
|
||||
{
|
||||
entity dodamage( 1, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ( isDefined( entity.helitype ) && entity.helitype == "qrdrone" )
|
||||
{
|
||||
watcher = entity.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( entity.classname == "grenade" )
|
||||
{
|
||||
if ( !isDefined( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( !isDefined( entity.owner ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( entity.name == "proximity_grenade_mp" )
|
||||
{
|
||||
watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( !isweaponequipment( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
if ( !isDefined( watcher ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.classname == "auto_turret" )
|
||||
{
|
||||
if ( !isDefined( entity.damagedtodeath ) || !entity.damagedtodeath )
|
||||
{
|
||||
entity domaxdamage( self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity dodamage( entity.health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
claw thread claw_drop_pause();
|
||||
corpse_delay = getTime() + 3000;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
_k637 = getNextArrayKey( _a637, _k637 );
|
||||
}
|
||||
self destroy_supply_crates();
|
||||
if ( getTime() > corpse_delay )
|
||||
{
|
||||
self destroy_corpses();
|
||||
}
|
||||
if ( level.gametype == "ctf" )
|
||||
{
|
||||
_a743 = level.flags;
|
||||
_k743 = getFirstArrayKey( _a743 );
|
||||
while ( isDefined( _k743 ) )
|
||||
{
|
||||
flag = _a743[ _k743 ];
|
||||
if ( flag.visuals[ 0 ] istouching( self.kill_trigger ) )
|
||||
{
|
||||
flag maps/mp/gametypes/ctf::returnflag();
|
||||
}
|
||||
_k743 = getNextArrayKey( _a743, _k743 );
|
||||
}
|
||||
}
|
||||
else if ( level.gametype == "sd" && !level.multibomb )
|
||||
{
|
||||
if ( level.sdbomb.visuals[ 0 ] istouching( self.kill_trigger ) )
|
||||
{
|
||||
level.sdbomb maps/mp/gametypes/_gameobjects::returnhome();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
claw_drop_think()
|
||||
{
|
||||
self endon( "claw_pause" );
|
||||
self waittill( "movedone" );
|
||||
self notify( "claw_movedone" );
|
||||
}
|
||||
|
||||
claw_drop_pause()
|
||||
{
|
||||
self notify( "claw_pause" );
|
||||
self endon( "claw_pause" );
|
||||
z_diff = abs( self.goal[ 2 ] - self.origin[ 2 ] );
|
||||
frac = z_diff / 318;
|
||||
time = self.time * frac;
|
||||
if ( time <= 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
self moveto( self.origin, 0,01 );
|
||||
wait 3;
|
||||
self thread claw_drop_think();
|
||||
self moveto( self.goal, time );
|
||||
}
|
||||
|
||||
destroy_supply_crates()
|
||||
{
|
||||
crates = getentarray( "care_package", "script_noteworthy" );
|
||||
_a797 = crates;
|
||||
_k797 = getFirstArrayKey( _a797 );
|
||||
while ( isDefined( _k797 ) )
|
||||
{
|
||||
crate = _a797[ _k797 ];
|
||||
if ( distancesquared( crate.origin, self.origin ) < 40000 )
|
||||
{
|
||||
if ( crate istouching( self ) )
|
||||
{
|
||||
playfx( level._supply_drop_explosion_fx, crate.origin );
|
||||
playsoundatposition( "wpn_grenade_explode", crate.origin );
|
||||
wait 0,1;
|
||||
crate maps/mp/killstreaks/_supplydrop::cratedelete();
|
||||
}
|
||||
}
|
||||
_k797 = getNextArrayKey( _a797, _k797 );
|
||||
}
|
||||
}
|
||||
|
||||
destroy_corpses()
|
||||
{
|
||||
corpses = getcorpsearray();
|
||||
i = 0;
|
||||
while ( i < corpses.size )
|
||||
{
|
||||
if ( distancesquared( corpses[ i ].origin, self.origin ) < 40000 )
|
||||
{
|
||||
corpses[ i ] delete();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
getwatcherforweapon( weapname )
|
||||
{
|
||||
if ( !isDefined( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
if ( !isplayer( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < self.weaponobjectwatcherarray.size )
|
||||
{
|
||||
if ( self.weaponobjectwatcherarray[ i ].weapon != weapname )
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
return self.weaponobjectwatcherarray[ i ];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return undefined;
|
||||
}
|
70
Multiplayer Maps/mp_dockside/maps/mp/mp_dockside_fx.gsc
Normal file
70
Multiplayer Maps/mp_dockside/maps/mp/mp_dockside_fx.gsc
Normal file
@ -0,0 +1,70 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
|
||||
precache_util_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "crane_spark" ] = loadfx( "maps/mp_maps/fx_mp_container_lrg_spark_runner" );
|
||||
level._effect[ "crane_dust" ] = loadfx( "maps/mp_maps/fx_mp_container_lrg_dust_kickup" );
|
||||
level._effect[ "water_splash" ] = loadfx( "bio/player/fx_player_water_splash_mp" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_light_flour_dbl_oval_street_wrm" ] = loadfx( "light/fx_light_flour_dbl_oval_street_wrm" );
|
||||
level._effect[ "fx_light_floodlight_sqr_wrm" ] = loadfx( "light/fx_light_floodlight_sqr_wrm" );
|
||||
level._effect[ "fx_light_floodlight_sqr_cool_xlg" ] = loadfx( "light/fx_light_floodlight_sqr_cool_xlg" );
|
||||
level._effect[ "fx_light_floodlight_rnd_cool_glw_add" ] = loadfx( "light/fx_light_floodlight_rnd_cool_glw_add" );
|
||||
level._effect[ "fx_light_floodlight_rnd_cool_glw" ] = loadfx( "light/fx_light_floodlight_rnd_cool_glw" );
|
||||
level._effect[ "fx_light_floodlight_rnd_cool_glw_dim" ] = loadfx( "light/fx_light_floodlight_rnd_cool_glw_dim" );
|
||||
level._effect[ "fx_light_floodlight_rnd_cool_glw_lg" ] = loadfx( "light/fx_light_floodlight_rnd_cool_glw_lg" );
|
||||
level._effect[ "fx_light_floodlight_rnd_red_md" ] = loadfx( "light/fx_light_floodlight_rnd_red_md" );
|
||||
level._effect[ "fx_la2_light_beacon_red_blink" ] = loadfx( "light/fx_light_beacon_red_blink_fst" );
|
||||
level._effect[ "fx_light_beacon_red_blink_sm" ] = loadfx( "light/fx_light_beacon_red_blink_fst_sm" );
|
||||
level._effect[ "fx_light_spotlight_sm_cool" ] = loadfx( "light/fx_light_spotlight_sm_cool" );
|
||||
level._effect[ "fx_light_spotlight_sm_yellow" ] = loadfx( "light/fx_light_spotlight_sm_yellow" );
|
||||
level._effect[ "fx_light_flour_glow_wrm_dbl_md" ] = loadfx( "light/fx_light_flour_glow_wrm_dbl_md" );
|
||||
level._effect[ "fx_light_floodlight_sqr_wrm_vista_lg" ] = loadfx( "light/fx_light_floodlight_sqr_wrm_vista_lg" );
|
||||
level._effect[ "fx_light_beacon_white_static" ] = loadfx( "light/fx_light_beacon_white_static" );
|
||||
level._effect[ "fx_light_beacon_green_static" ] = loadfx( "light/fx_light_beacon_green_static" );
|
||||
level._effect[ "fx_light_buoy_red_blink" ] = loadfx( "light/fx_light_buoy_red_blink" );
|
||||
level._effect[ "fx_light_flourescent_ceiling_panel" ] = loadfx( "light/fx_light_flourescent_ceiling_panel" );
|
||||
level._effect[ "fx_light_bridge_accent_vista" ] = loadfx( "light/fx_light_bridge_accent_vista" );
|
||||
level._effect[ "fx_light_container_yellow" ] = loadfx( "light/fx_light_container_yellow" );
|
||||
level._effect[ "fx_fog_lit_spotlight_cool_lg" ] = loadfx( "fog/fx_fog_lit_spotlight_cool_lg" );
|
||||
level._effect[ "fx_fog_lit_overhead_wrm_lg" ] = loadfx( "fog/fx_fog_lit_overhead_wrm_lg" );
|
||||
level._effect[ "fx_fog_lit_overhead_wrm_xlg" ] = loadfx( "fog/fx_fog_lit_overhead_wrm_xlg" );
|
||||
level._effect[ "fx_fog_street_cool_slw_sm_md" ] = loadfx( "fog/fx_fog_street_cool_slw_md" );
|
||||
level._effect[ "fx_fog_street_red_slw_md" ] = loadfx( "fog/fx_fog_street_red_slw_md" );
|
||||
level._effect[ "fx_fog_street_red_slw_md" ] = loadfx( "fog/fx_fog_street_red_slw_md" );
|
||||
level._effect[ "fx_paper_interior_short_slw_flat" ] = loadfx( "debris/fx_paper_interior_short_slw_flat" );
|
||||
level._effect[ "fx_mp_steam_pipe_md" ] = loadfx( "maps/mp_maps/fx_mp_steam_pipe_md" );
|
||||
level._effect[ "fx_mp_steam_pipe_roof_lg" ] = loadfx( "maps/mp_maps/fx_mp_steam_pipe_roof_lg" );
|
||||
level._effect[ "fx_mp_water_drip_light_long" ] = loadfx( "maps/mp_maps/fx_mp_water_drip_light_long" );
|
||||
level._effect[ "fx_mp_water_drip_light_shrt" ] = loadfx( "maps/mp_maps/fx_mp_water_drip_light_shrt" );
|
||||
level._effect[ "fx_lf_dockside_sun1" ] = loadfx( "lens_flares/fx_lf_dockside_sun1" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "buoy_fast" ] = %fxanim_gp_buoy_fast_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_01" ] = %fxanim_gp_seagull_circle_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_02" ] = %fxanim_gp_seagull_circle_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_03" ] = %fxanim_gp_seagull_circle_03_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "roofvent_rotate" ] = %fxanim_gp_roofvent_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "wire_coil_large" ] = %fxanim_gp_wire_coil_lrg_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "crane_wires" ] = %fxanim_mp_dockside_crane_wires_anim;
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
precache_util_fx();
|
||||
precache_createfx_fx();
|
||||
precache_scripted_fx();
|
||||
maps/mp/createfx/mp_dockside_fx::main();
|
||||
maps/mp/createart/mp_dockside_art::main();
|
||||
}
|
42
Multiplayer Maps/mp_downhill/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_downhill/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
1210
Multiplayer Maps/mp_downhill/maps/mp/createfx/mp_downhill_fx.gsc
Normal file
1210
Multiplayer Maps/mp_downhill/maps/mp/createfx/mp_downhill_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
52
Multiplayer Maps/mp_downhill/maps/mp/mp_downhill.gsc
Normal file
52
Multiplayer Maps/mp_downhill/maps/mp/mp_downhill.gsc
Normal file
@ -0,0 +1,52 @@
|
||||
#include maps/mp/gametypes/_spawning;
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
maps/mp/mp_downhill_fx::main();
|
||||
precachemodel( "collision_physics_64x64x64" );
|
||||
precachemodel( "collision_clip_32x32x32" );
|
||||
precachemodel( "collision_clip_64x64x64" );
|
||||
precachemodel( "collision_physics_cylinder_32x128" );
|
||||
precachemodel( "collision_missile_32x32x128" );
|
||||
precachemodel( "collision_clip_64x64x64" );
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_downhill_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_downhill" );
|
||||
setdvar( "compassmaxrange", "2100" );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
spawncollision( "collision_physics_64x64x64", "collider", ( 969,01, -2355,43, 1014,87 ), ( 2,23119, 12,5057, -9,9556 ) );
|
||||
spawncollision( "collision_physics_64x64x64", "collider", ( 954,068, -2352,16, 1001,08 ), ( 3,17067, 17,931, -9,69974 ) );
|
||||
spawncollision( "collision_physics_64x64x64", "collider", ( 942,933, -2359,71, 1031,9 ), ( 3,17067, 17,931, -9,69974 ) );
|
||||
spawncollision( "collision_physics_cylinder_32x128", "collider", ( 368, -1378, 1015 ), vectorScale( ( 0, 0, 0 ), 24,9 ) );
|
||||
spawncollision( "collision_clip_64x64x64", "collider", ( 1268,5, -2518, 1062 ), vectorScale( ( 0, 0, 0 ), 349 ) );
|
||||
spawncollision( "collision_clip_64x64x64", "collider", ( 1122,5, 583,5, 959,5 ), vectorScale( ( 0, 0, 0 ), 41,2 ) );
|
||||
spawncollision( "collision_clip_32x32x32", "collider", ( 1895, -1428,5, 948 ), ( 0, 0, 0 ) );
|
||||
spawncollision( "collision_missile_32x32x128", "collider", ( 2431,5, -174, 1209,5 ), ( 0, 318,4, 90 ) );
|
||||
spawncollision( "collision_clip_64x64x64", "collider", ( 318, 1509, 1105 ), ( 0, 34,4, 90 ) );
|
||||
precachemodel( "fxanim_mp_downhill_cable_car_mod" );
|
||||
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
|
||||
level.cablecarlightsfx = loadfx( "maps/mp_maps/fx_mp_downhill_cablecar_lights" );
|
||||
level thread maps/mp/mp_downhill_cablecar::main();
|
||||
level.remotemotarviewleft = 40;
|
||||
level.remotemotarviewright = 40;
|
||||
level.remotemotarviewup = 15;
|
||||
level.remotemotarviewdown = 65;
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
|
||||
}
|
6
Multiplayer Maps/mp_downhill/maps/mp/mp_downhill_amb.gsc
Normal file
6
Multiplayer Maps/mp_downhill/maps/mp/mp_downhill_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
791
Multiplayer Maps/mp_downhill/maps/mp/mp_downhill_cablecar.gsc
Normal file
791
Multiplayer Maps/mp_downhill/maps/mp/mp_downhill_cablecar.gsc
Normal file
@ -0,0 +1,791 @@
|
||||
#include maps/mp/killstreaks/_supplydrop;
|
||||
#include maps/mp/gametypes/_gameobjects;
|
||||
#include maps/mp/gametypes/ctf;
|
||||
#include maps/mp/gametypes/_weaponobjects;
|
||||
#include maps/mp/killstreaks/_rcbomb;
|
||||
#include maps/mp/_tacticalinsertion;
|
||||
#include maps/mp/gametypes/_hostmigration;
|
||||
#include maps/mp/_events;
|
||||
#include maps/mp/killstreaks/_airsupport;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.cablecartrack = [];
|
||||
level.trackdistancestops = [];
|
||||
level.distancetofirstrotate = 0;
|
||||
precacheitem( "gondola_mp" );
|
||||
level.gondolasounds = [];
|
||||
level.gondolasounds[ "tower_start" ] = "veh_cable_car_roller_cross";
|
||||
level.gondolasounds[ "rollers_start" ] = "veh_cable_car_start";
|
||||
level.gondolasounds[ "slow_down" ] = "veh_cable_car_stop";
|
||||
level.gondolaloopsounds = [];
|
||||
level.gondolaloopsounds[ "start" ] = "veh_cable_car_move_loop";
|
||||
level.gondolaloopsounds[ "rollers_start" ] = "veh_cable_car_move_loop";
|
||||
level.gondolaloopsounds[ "rollers_end" ] = "";
|
||||
tracklength = createcablecarpath();
|
||||
/#
|
||||
assert( level.trackdistancestops.size == 2 );
|
||||
#/
|
||||
if ( level.trackdistancestops.size == 2 )
|
||||
{
|
||||
velocity = getdvarfloatdefault( "scr_cable_car_velocity", 100 );
|
||||
bottomoftracklength = level.trackdistancestops[ 1 ] - level.trackdistancestops[ 0 ];
|
||||
topoftracklength = tracklength - bottomoftracklength;
|
||||
/#
|
||||
assert( topoftracklength < bottomoftracklength );
|
||||
#/
|
||||
extratrackrequired = bottomoftracklength - topoftracklength;
|
||||
extratimerequired = extratrackrequired / velocity;
|
||||
level.cablecartrack[ level.cablecartrack.size - 1 ].movetime = extratimerequired;
|
||||
level.cablecartrack[ level.cablecartrack.size - 1 ].rotate = 1;
|
||||
tracklength = bottomoftracklength * 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
cablecars = getentarray( "cablecar", "targetname" );
|
||||
cablecarkilltrigger = getentarray( "cable_car_kill_trigger", "targetname" );
|
||||
/#
|
||||
assert( isDefined( cablecars ) );
|
||||
#/
|
||||
/#
|
||||
assert( isDefined( cablecarkilltrigger ) );
|
||||
#/
|
||||
level.cablecardefaultangle = cablecars[ 0 ].angles;
|
||||
distancebetweencars = tracklength / cablecars.size;
|
||||
if ( getgametypesetting( "allowMapScripting" ) )
|
||||
{
|
||||
currentdistanceforcar = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentdistanceforcar = distancebetweencars * 0,8;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < cablecars.size )
|
||||
{
|
||||
cablecar = cablecars[ i ];
|
||||
cablecar thread waitthenplayfx( 0,1, level.cablecarlightsfx, "tag_origin" );
|
||||
cablecar.killtrigger = getclosest( cablecar.origin, cablecarkilltrigger );
|
||||
/#
|
||||
assert( isDefined( cablecar.killtrigger ) );
|
||||
#/
|
||||
cablecar.killtrigger enablelinkto();
|
||||
cablecar.killtrigger linkto( cablecar );
|
||||
cablecar setpointontrack( currentdistanceforcar, tracklength );
|
||||
currentdistanceforcar += distancebetweencars;
|
||||
/#
|
||||
debug_star( cablecar.origin, 120000, ( 0, 0, 1 ) );
|
||||
#/
|
||||
grip = spawn( "script_model", cablecar.origin );
|
||||
if ( cablecar.nextnodeindex >= ( level.cablecartrack.size - 1 ) )
|
||||
{
|
||||
grip.angles = vectorToAngle( level.cablecartrack[ cablecar.nextnodeindex - 1 ].origin - level.cablecartrack[ cablecar.nextnodeindex ].origin );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( is_true( level.cablecartrack[ cablecar.nextnodeindex ].pause ) )
|
||||
{
|
||||
carnode = level.cablecartrack[ cablecar.nextnodeindex + 2 ];
|
||||
}
|
||||
else
|
||||
{
|
||||
carnode = level.cablecartrack[ cablecar.nextnodeindex ];
|
||||
}
|
||||
grip.angles = vectorToAngle( carnode.origin - cablecar.origin );
|
||||
}
|
||||
grip.origin -= ( 0, cos( grip.angles[ 1 ] ) * -12, 8 );
|
||||
grip setmodel( "dh_cable_car_top_piece" );
|
||||
cablecar.grip = grip;
|
||||
if ( getgametypesetting( "allowMapScripting" ) )
|
||||
{
|
||||
level thread cablecarrun( cablecar );
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
cablecar.origin += ( 0, cos( cablecar.angles[ 1 ] ) * -15, -66,6 );
|
||||
cablecar disconnectpaths();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
waitthenplayfx( time, fxnum, tag )
|
||||
{
|
||||
self endon( "death" );
|
||||
wait time;
|
||||
for ( ;; )
|
||||
{
|
||||
playfxontag( fxnum, self, tag );
|
||||
level waittill( "host_migration_end" );
|
||||
}
|
||||
}
|
||||
|
||||
setpointontrack( distancealongtrack, tracklength )
|
||||
{
|
||||
pointontrack = level.cablecartrack[ 0 ].origin;
|
||||
while ( distancealongtrack > tracklength )
|
||||
{
|
||||
distancealongtrack = tracklength * -1;
|
||||
}
|
||||
remainingdistance = distancealongtrack;
|
||||
i = 0;
|
||||
while ( i < level.cablecartrack.size )
|
||||
{
|
||||
cablecartracknode = level.cablecartrack[ i ];
|
||||
currentnodeisstop = is_true( cablecartracknode.pause );
|
||||
if ( currentnodeisstop )
|
||||
{
|
||||
velocity = getdvarfloatdefault( "scr_cable_car_velocity", 100 );
|
||||
remainingdistance -= 3 * velocity;
|
||||
if ( remainingdistance <= 0 )
|
||||
{
|
||||
pointontrack = cablecartracknode.origin;
|
||||
self.nextnodeindex = i;
|
||||
self.needtopauseatstart = remainingdistance / velocity;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else nextnodeisstop = 0;
|
||||
if ( level.cablecartrack.size > ( i + 1 ) )
|
||||
{
|
||||
nextnodeisstop = is_true( level.cablecartrack[ i + 1 ].pause );
|
||||
}
|
||||
currentnodeisstop = 0;
|
||||
if ( is_true( cablecartracknode.pause ) )
|
||||
{
|
||||
currentnodeisstop = 1;
|
||||
}
|
||||
distance = cablecartracknode.stepdistance;
|
||||
if ( nextnodeisstop || currentnodeisstop )
|
||||
{
|
||||
distance *= 2;
|
||||
}
|
||||
if ( !isDefined( distance ) )
|
||||
{
|
||||
pointontrack = cablecartracknode.origin;
|
||||
self.nextnodeindex = i;
|
||||
break;
|
||||
}
|
||||
else if ( remainingdistance < distance )
|
||||
{
|
||||
if ( distance > 0 )
|
||||
{
|
||||
ratio = remainingdistance / distance;
|
||||
pointontrack = getpointonline( cablecartracknode.origin, level.cablecartrack[ i + 1 ].origin, ratio );
|
||||
}
|
||||
self.nextnodeindex = i;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
remainingdistance -= distance;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
self.angles = level.cablecardefaultangle;
|
||||
if ( distancealongtrack < level.distancetofirstrotate )
|
||||
{
|
||||
self.angles += vectorScale( ( 0, 0, 1 ), 180 );
|
||||
}
|
||||
self.origin = pointontrack;
|
||||
}
|
||||
|
||||
createcablecarpath( cablecar )
|
||||
{
|
||||
currentnode = getent( "cable_down_start", "targetname" );
|
||||
startorigin = currentnode.origin;
|
||||
velocity = getdvarfloatdefault( "scr_cable_car_velocity", 100 );
|
||||
tracklength = 0;
|
||||
previousnode = undefined;
|
||||
movetime = -1;
|
||||
while ( isDefined( currentnode ) )
|
||||
{
|
||||
cablecarnodestruct = spawnstruct();
|
||||
cablecarnodestruct.origin = currentnode.origin;
|
||||
level.cablecartrack[ level.cablecartrack.size ] = cablecarnodestruct;
|
||||
if ( isDefined( currentnode.target ) )
|
||||
{
|
||||
nextnode = getent( currentnode.target, "targetname" );
|
||||
}
|
||||
if ( !isDefined( nextnode ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
stepdistance = distance( currentnode.origin, nextnode.origin );
|
||||
cablecarnodestruct.stepdistance = stepdistance;
|
||||
movetime = stepdistance / velocity;
|
||||
/#
|
||||
assert( movetime > 0 );
|
||||
#/
|
||||
pauseratio = 1;
|
||||
if ( isDefined( nextnode.script_noteworthy ) && nextnode.script_noteworthy == "stop" )
|
||||
{
|
||||
pauseratio *= 2;
|
||||
}
|
||||
if ( isDefined( currentnode.script_noteworthy ) )
|
||||
{
|
||||
if ( currentnode.script_noteworthy == "stop" )
|
||||
{
|
||||
cablecarnodestruct.pause = 1;
|
||||
tracklength += velocity * 3;
|
||||
level.trackdistancestops[ level.trackdistancestops.size ] = tracklength;
|
||||
pauseratio *= 2;
|
||||
break;
|
||||
}
|
||||
else if ( currentnode.script_noteworthy == "rotate" )
|
||||
{
|
||||
cablecarnodestruct.rotate = 1;
|
||||
break;
|
||||
}
|
||||
else if ( currentnode.script_noteworthy == "forceorigin" )
|
||||
{
|
||||
cablecarnodestruct.forceorigin = 1;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( level.gondolasounds[ currentnode.script_noteworthy ] ) )
|
||||
{
|
||||
cablecarnodestruct.playsound = level.gondolasounds[ currentnode.script_noteworthy ];
|
||||
}
|
||||
if ( isDefined( level.gondolaloopsounds[ currentnode.script_noteworthy ] ) )
|
||||
{
|
||||
cablecarnodestruct.playloopsound = level.gondolaloopsounds[ currentnode.script_noteworthy ];
|
||||
}
|
||||
}
|
||||
}
|
||||
tracklength += stepdistance * pauseratio;
|
||||
if ( is_true( cablecarnodestruct.rotate ) )
|
||||
{
|
||||
level.distancetofirstrotate = tracklength;
|
||||
}
|
||||
cablecarnodestruct.movetime = movetime;
|
||||
previousnode = currentnode;
|
||||
currentnode = nextnode;
|
||||
nextnode = undefined;
|
||||
}
|
||||
}
|
||||
return tracklength;
|
||||
}
|
||||
|
||||
watchpronetouch()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "touch", entity );
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
if ( entity.origin[ 2 ] < 940 )
|
||||
{
|
||||
if ( entity getstance() == "prone" )
|
||||
{
|
||||
entity dodamage( entity.health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_HIT_BY_OBJECT", 0, "gondola_mp" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cablecarrun( cablecar )
|
||||
{
|
||||
nextnodeindex = cablecar.nextnodeindex;
|
||||
cablecar thread watchpronetouch();
|
||||
cablecar thread cablecar_move_think( cablecar.killtrigger, 1 );
|
||||
cablecar thread cablecar_ai_watch();
|
||||
cablecar.ismoving = 1;
|
||||
grip = cablecar.grip;
|
||||
firstmove = 1;
|
||||
cablecar.hidden = 0;
|
||||
grip.forceangles = 0;
|
||||
if ( isDefined( cablecar.needtopauseatstart ) )
|
||||
{
|
||||
if ( cablecar.needtopauseatstart > 0 )
|
||||
{
|
||||
wait cablecar.needtopauseatstart;
|
||||
}
|
||||
}
|
||||
for ( ;; )
|
||||
{
|
||||
i = nextnodeindex;
|
||||
while ( i < level.cablecartrack.size )
|
||||
{
|
||||
nextnode = level.cablecartrack[ i + 1 ];
|
||||
if ( !isDefined( nextnode ) )
|
||||
{
|
||||
nextnode = level.cablecartrack[ 0 ];
|
||||
}
|
||||
currentnode = level.cablecartrack[ i ];
|
||||
acceltime = 0;
|
||||
deceltime = 0;
|
||||
currentmovetime = currentnode.movetime;
|
||||
if ( isDefined( nextnode.pause ) || isDefined( currentnode ) && isDefined( currentnode.pause ) )
|
||||
{
|
||||
currentmovetime *= 2;
|
||||
if ( isDefined( nextnode.pause ) )
|
||||
{
|
||||
deceltime = currentmovetime - 0,1;
|
||||
}
|
||||
if ( isDefined( currentnode ) && isDefined( currentnode.pause ) )
|
||||
{
|
||||
acceltime = currentmovetime - 0,1;
|
||||
}
|
||||
}
|
||||
/#
|
||||
debug_star( nextnode.origin, ( 0, 0, 1 ), 1000 );
|
||||
#/
|
||||
if ( isDefined( currentnode ) )
|
||||
{
|
||||
if ( isDefined( currentnode.playsound ) )
|
||||
{
|
||||
cablecar playsound( currentnode.playsound );
|
||||
}
|
||||
if ( isDefined( currentnode.playloopsound ) )
|
||||
{
|
||||
cablecar stoploopsound();
|
||||
cablecar playsound( "veh_cable_car_leave" );
|
||||
if ( currentnode.playloopsound != "" )
|
||||
{
|
||||
cablecar playloopsound( currentnode.playloopsound );
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( isDefined( currentnode.rotate ) )
|
||||
{
|
||||
cablecar hide();
|
||||
grip hide();
|
||||
cablecar.hidden = 1;
|
||||
cablecar.origin += vectorScale( ( 0, 0, 1 ), 1000 );
|
||||
if ( cablecar.angles[ 1 ] > 360 )
|
||||
{
|
||||
cablecar.angles -= vectorScale( ( 0, 0, 1 ), 180 );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
cablecar.angles += vectorScale( ( 0, 0, 1 ), 180 );
|
||||
}
|
||||
}
|
||||
if ( isDefined( currentnode ) && isDefined( nextnode ) )
|
||||
{
|
||||
angles = vectorToAngle( currentnode.origin - nextnode.origin );
|
||||
grip.nextangles = angles;
|
||||
if ( grip.forceangles == 1 )
|
||||
{
|
||||
grip.forceangles = 0;
|
||||
grip.angles = grip.nextangles;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
grip rotateto( grip.nextangles, 0,9 );
|
||||
}
|
||||
}
|
||||
if ( firstmove == 1 )
|
||||
{
|
||||
firstmovedistance = distance( cablecar.origin, nextnode.origin );
|
||||
velocity = getdvarfloatdefault( "scr_cable_car_velocity", 100 );
|
||||
timetomove = firstmovedistance / velocity;
|
||||
if ( timetomove > 0 )
|
||||
{
|
||||
cablecar moveto( nextnode.origin + ( 0, cos( cablecar.angles[ 1 ] ) * -15, -66,6 ), timetomove );
|
||||
grip moveto( nextnode.origin - ( 0, cos( cablecar.angles[ 1 ] ) * -12, 8 ), timetomove );
|
||||
wait timetomove;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
heightoffset = -66,6;
|
||||
if ( is_true( cablecar.hidden ) )
|
||||
{
|
||||
heightoffset += -1000;
|
||||
}
|
||||
if ( deceltime > 0 )
|
||||
{
|
||||
cablecar thread prettyslowdown( currentmovetime - deceltime );
|
||||
}
|
||||
grip thread hostmigrationawaremoveto( nextnode.origin - ( 0, cos( cablecar.angles[ 1 ] ) * -12, 8 ), currentmovetime, acceltime, deceltime, currentmovetime - 0,05 );
|
||||
cablecar hostmigrationawaremoveto( nextnode.origin + ( 0, cos( cablecar.angles[ 1 ] ) * -15, heightoffset ), currentmovetime, acceltime, deceltime, currentmovetime - 0,05 );
|
||||
}
|
||||
if ( cablecar.hidden == 1 )
|
||||
{
|
||||
cablecar.hidden = 0;
|
||||
if ( is_true( cablecar.hidden ) )
|
||||
{
|
||||
cablecar.origin -= vectorScale( ( 0, 0, 1 ), 1000 );
|
||||
}
|
||||
cablecar show();
|
||||
grip show();
|
||||
grip.forceangles = 1;
|
||||
}
|
||||
firstmove = 0;
|
||||
if ( isDefined( nextnode.pause ) )
|
||||
{
|
||||
cablecar.ismoving = 0;
|
||||
grip thread hostmigrationawaremoveto( nextnode.origin - ( 0, cos( cablecar.angles[ 1 ] ) * -12, 8 ), 300, 0, 0, 3 );
|
||||
cablecar hostmigrationawaremoveto( nextnode.origin + ( 0, cos( cablecar.angles[ 1 ] ) * -15, -66,6 ), 300, 0, 0, 3 );
|
||||
cablecar notify( "started_moving" );
|
||||
cablecar thread prettyspeedup();
|
||||
cablecar.ismoving = 1;
|
||||
}
|
||||
if ( isDefined( nextnode.forceorigin ) )
|
||||
{
|
||||
cablecar.origin = nextnode.origin + ( 0, cos( cablecar.angles[ 1 ] ) * -15, -66,6 );
|
||||
grip.origin = nextnode.origin - ( 0, cos( cablecar.angles[ 1 ] ) * -12, 8 );
|
||||
}
|
||||
i++;
|
||||
}
|
||||
nextnodeindex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
hostmigrationawaremoveto( origin, movetime, acceltime, deceltime, waittime )
|
||||
{
|
||||
starttime = getTime();
|
||||
self moveto( origin, movetime, acceltime, deceltime );
|
||||
waitcompleted = self waitendonmigration( waittime );
|
||||
if ( !isDefined( waitcompleted ) )
|
||||
{
|
||||
endtime = getTime();
|
||||
maps/mp/gametypes/_hostmigration::waittillhostmigrationdone();
|
||||
mstimedifference = ( starttime + ( waittime * 1000 ) ) - endtime;
|
||||
if ( mstimedifference > 500 )
|
||||
{
|
||||
wait ( mstimedifference / 1000 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
waitendonmigration( time )
|
||||
{
|
||||
level endon( "host_migration_begin" );
|
||||
wait time;
|
||||
return 1;
|
||||
}
|
||||
|
||||
prettyslowdown( waittime )
|
||||
{
|
||||
if ( waittime > 0 )
|
||||
{
|
||||
wait waittime;
|
||||
}
|
||||
self stoploopsound();
|
||||
self playsound( level.gondolasounds[ "slow_down" ] );
|
||||
originalangle = self.angles;
|
||||
swingtime = getdvarfloatdefault( "scr_cable_swing_time", 1,5 );
|
||||
swingbacktime = getdvarfloatdefault( "scr_cable_swing_back_time", 1,5 );
|
||||
swingangle = getdvarfloatdefault( "scr_cable_swing_angle", 2 );
|
||||
self rotateto( ( originalangle[ 0 ] + swingangle, originalangle[ 1 ], originalangle[ 2 ] ), swingtime, swingtime / 2, swingtime / 2 );
|
||||
self waittill( "rotatedone" );
|
||||
self rotateto( ( originalangle[ 0 ], originalangle[ 1 ], originalangle[ 2 ] ), swingbacktime, swingbacktime / 2, swingbacktime / 2 );
|
||||
self waittill( "rotatedone" );
|
||||
}
|
||||
|
||||
prettyspeedup()
|
||||
{
|
||||
self stoploopsound();
|
||||
self playsound( level.gondolasounds[ "rollers_start" ] );
|
||||
self playloopsound( level.gondolaloopsounds[ "start" ] );
|
||||
originalangle = self.angles;
|
||||
swingtime = getdvarfloatdefault( "scr_cable_swing_time_up", 1 );
|
||||
swingbacktime = getdvarfloatdefault( "scr_cable_swing_back_time_up", 1,5 );
|
||||
swingangle = getdvarfloatdefault( "scr_cable_swing_angle_up", 2 );
|
||||
self rotateto( ( originalangle[ 0 ] - swingangle, originalangle[ 1 ], originalangle[ 2 ] ), swingtime, swingtime / 2, swingtime / 2 );
|
||||
self waittill( "rotatedone" );
|
||||
self rotateto( ( originalangle[ 0 ], originalangle[ 1 ], originalangle[ 2 ] ), swingbacktime, swingbacktime / 2, swingbacktime / 2 );
|
||||
self waittill( "rotatedone" );
|
||||
}
|
||||
|
||||
cablecar_ai_watch()
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "delete" );
|
||||
for ( ;; )
|
||||
{
|
||||
wait 1;
|
||||
while ( isDefined( self.nodes ) )
|
||||
{
|
||||
i = 0;
|
||||
while ( i < self.nodes.size )
|
||||
{
|
||||
node = self.nodes[ i ];
|
||||
_a574 = level.teams;
|
||||
_k574 = getFirstArrayKey( _a574 );
|
||||
while ( isDefined( _k574 ) )
|
||||
{
|
||||
team = _a574[ _k574 ];
|
||||
node setdangerous( team, 0 );
|
||||
_k574 = getNextArrayKey( _a574, _k574 );
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
dir = vectornormalize( anglesToForward( self.angles ) );
|
||||
dangerorigin = self.origin - ( dir * 196 );
|
||||
nodes = getnodesinradius( dangerorigin, 256, 0, 196 );
|
||||
i = 0;
|
||||
while ( i < nodes.size )
|
||||
{
|
||||
node = nodes[ i ];
|
||||
_a587 = level.teams;
|
||||
_k587 = getFirstArrayKey( _a587 );
|
||||
while ( isDefined( _k587 ) )
|
||||
{
|
||||
team = _a587[ _k587 ];
|
||||
node setdangerous( team, 1 );
|
||||
_k587 = getNextArrayKey( _a587, _k587 );
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if ( nodes.size > 0 )
|
||||
{
|
||||
self.nodes = nodes;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.nodes = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cablecar_move_think( kill_trigger, checkmoving )
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "delete" );
|
||||
self.disablefinalkillcam = 1;
|
||||
destroycorpses = 0;
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,05;
|
||||
pixbeginevent( "cablecar_move_think" );
|
||||
if ( checkmoving )
|
||||
{
|
||||
if ( self.ismoving == 0 )
|
||||
{
|
||||
self waittill( "started_moving" );
|
||||
}
|
||||
}
|
||||
entities = getdamageableentarray( self.origin, 200 );
|
||||
_a626 = entities;
|
||||
_k626 = getFirstArrayKey( _a626 );
|
||||
while ( isDefined( _k626 ) )
|
||||
{
|
||||
entity = _a626[ _k626 ];
|
||||
if ( isDefined( entity.targetname ) && entity.targetname == "cablecar" )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !entity istouching( kill_trigger ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" )
|
||||
{
|
||||
entity maps/mp/_tacticalinsertion::destroy_tactical_insertion();
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !isalive( entity ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( isDefined( entity.targetname ) )
|
||||
{
|
||||
if ( entity.targetname == "talon" )
|
||||
{
|
||||
entity notify( "death" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "rcbomb" )
|
||||
{
|
||||
entity maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "riotshield_mp" )
|
||||
{
|
||||
entity dodamage( 1, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_HIT_BY_OBJECT", 0, "gondola_mp" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ( isDefined( entity.helitype ) && entity.helitype == "qrdrone" )
|
||||
{
|
||||
watcher = entity.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( entity.classname == "grenade" )
|
||||
{
|
||||
if ( !isDefined( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( !isDefined( entity.owner ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( entity.name == "proximity_grenade_mp" )
|
||||
{
|
||||
watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( !isweaponequipment( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
if ( !isDefined( watcher ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.classname == "remote_drone" )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( entity.classname == "auto_turret" )
|
||||
{
|
||||
if ( isDefined( entity.carried ) && entity.carried == 1 )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !isDefined( entity.damagedtodeath ) || !entity.damagedtodeath )
|
||||
{
|
||||
entity domaxdamage( self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
if ( entity getstance() == "prone" )
|
||||
{
|
||||
if ( entity isonground() == 0 )
|
||||
{
|
||||
destroycorpses = 1;
|
||||
}
|
||||
}
|
||||
entity dodamage( entity.health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_HIT_BY_OBJECT", 0, "gondola_mp" );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity dodamage( entity.health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
_k626 = getNextArrayKey( _a626, _k626 );
|
||||
}
|
||||
if ( destroycorpses == 1 )
|
||||
{
|
||||
destroycorpses = 0;
|
||||
self destroy_corpses();
|
||||
}
|
||||
self destroy_supply_crates();
|
||||
if ( level.gametype == "ctf" )
|
||||
{
|
||||
_a755 = level.flags;
|
||||
_k755 = getFirstArrayKey( _a755 );
|
||||
while ( isDefined( _k755 ) )
|
||||
{
|
||||
flag = _a755[ _k755 ];
|
||||
if ( flag.curorigin != flag.trigger.baseorigin && flag.visuals[ 0 ] istouching( kill_trigger ) )
|
||||
{
|
||||
flag maps/mp/gametypes/ctf::returnflag();
|
||||
}
|
||||
_k755 = getNextArrayKey( _a755, _k755 );
|
||||
}
|
||||
}
|
||||
else if ( level.gametype == "sd" && !level.multibomb )
|
||||
{
|
||||
if ( level.sdbomb.visuals[ 0 ] istouching( kill_trigger ) )
|
||||
{
|
||||
level.sdbomb maps/mp/gametypes/_gameobjects::returnhome();
|
||||
}
|
||||
}
|
||||
pixendevent();
|
||||
}
|
||||
}
|
||||
|
||||
getwatcherforweapon( weapname )
|
||||
{
|
||||
if ( !isDefined( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
if ( !isplayer( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < self.weaponobjectwatcherarray.size )
|
||||
{
|
||||
if ( self.weaponobjectwatcherarray[ i ].weapon != weapname )
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
return self.weaponobjectwatcherarray[ i ];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
destroy_supply_crates()
|
||||
{
|
||||
crates = getentarray( "care_package", "script_noteworthy" );
|
||||
_a807 = crates;
|
||||
_k807 = getFirstArrayKey( _a807 );
|
||||
while ( isDefined( _k807 ) )
|
||||
{
|
||||
crate = _a807[ _k807 ];
|
||||
if ( distancesquared( crate.origin, self.origin ) < 40000 )
|
||||
{
|
||||
if ( crate istouching( self ) )
|
||||
{
|
||||
playfx( level._supply_drop_explosion_fx, crate.origin );
|
||||
playsoundatposition( "wpn_grenade_explode", crate.origin );
|
||||
wait 0,1;
|
||||
crate maps/mp/killstreaks/_supplydrop::cratedelete();
|
||||
}
|
||||
}
|
||||
_k807 = getNextArrayKey( _a807, _k807 );
|
||||
}
|
||||
}
|
||||
|
||||
destroy_corpses()
|
||||
{
|
||||
corpses = getcorpsearray();
|
||||
i = 0;
|
||||
while ( i < corpses.size )
|
||||
{
|
||||
if ( distancesquared( corpses[ i ].origin, self.origin ) < 40000 )
|
||||
{
|
||||
corpses[ i ] delete();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
54
Multiplayer Maps/mp_downhill/maps/mp/mp_downhill_fx.gsc
Normal file
54
Multiplayer Maps/mp_downhill/maps/mp/mp_downhill_fx.gsc
Normal file
@ -0,0 +1,54 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_downhill_fx::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_lf_mp_downhill_sun1" ] = loadfx( "lens_flares/fx_lf_mp_downhill_sun1" );
|
||||
level._effect[ "fx_mp_downhill_snow_fall_lrg" ] = loadfx( "maps/mp_maps/fx_mp_downhill_snow_fall_lrg" );
|
||||
level._effect[ "fx_mp_downhill_snow_indoor_lg" ] = loadfx( "maps/mp_maps/fx_mp_downhill_snow_indoor_lg" );
|
||||
level._effect[ "fx_mp_downhill_snow_gust" ] = loadfx( "maps/mp_maps/fx_mp_downhill_snow_gust" );
|
||||
level._effect[ "fx_mp_downhill_snow_gust_floor" ] = loadfx( "maps/mp_maps/fx_mp_downhill_snow_gust_floor" );
|
||||
level._effect[ "fx_mp_downhill_snow_gust_cab" ] = loadfx( "maps/mp_maps/fx_mp_downhill_snow_gust_cab" );
|
||||
level._effect[ "fx_mp_downhill_snow_gust_in" ] = loadfx( "maps/mp_maps/fx_mp_downhill_snow_gust_in" );
|
||||
level._effect[ "fx_mp_downhill_snow_tree" ] = loadfx( "maps/mp_maps/fx_mp_downhill_snow_tree" );
|
||||
level._effect[ "fx_mp_downhill_snow_tree_trunk" ] = loadfx( "maps/mp_maps/fx_mp_downhill_snow_tree_trunk" );
|
||||
level._effect[ "fx_mp_downhill_water_drips" ] = loadfx( "maps/mp_maps/fx_mp_downhill_water_drips" );
|
||||
level._effect[ "fx_mp_downhill_sparkle" ] = loadfx( "maps/mp_maps/fx_mp_downhill_sparkle" );
|
||||
level._effect[ "fx_mp_downhill_fog_vista" ] = loadfx( "maps/mp_maps/fx_mp_downhill_fog_vista" );
|
||||
level._effect[ "fx_mp_downhill_fog_vista_wide" ] = loadfx( "maps/mp_maps/fx_mp_downhill_fog_vista_wide" );
|
||||
level._effect[ "fx_mp_downhill_fog_vista_light" ] = loadfx( "maps/mp_maps/fx_mp_downhill_fog_vista_light" );
|
||||
level._effect[ "fx_mp_downhill_fireplace" ] = loadfx( "maps/mp_maps/fx_mp_downhill_fireplace" );
|
||||
level._effect[ "fx_mp_downhill_light_sml" ] = loadfx( "maps/mp_maps/fx_mp_downhill_light_sml" );
|
||||
level._effect[ "fx_mp_downhill_fog_int" ] = loadfx( "maps/mp_maps/fx_mp_downhill_fog_int" );
|
||||
level._effect[ "fx_mp_downhill_fog_int_3" ] = loadfx( "maps/mp_maps/fx_mp_downhill_fog_int_3" );
|
||||
level._effect[ "fx_mp_downhill_chimney_smk" ] = loadfx( "maps/mp_maps/fx_mp_downhill_chimney_smk" );
|
||||
level._effect[ "fx_mp_downhill_light_lg" ] = loadfx( "maps/mp_maps/fx_mp_downhill_light_lg" );
|
||||
level._effect[ "fx_mp_downhill_gust_window" ] = loadfx( "maps/mp_maps/fx_mp_downhill_gust_window" );
|
||||
level._effect[ "fx_mp_downhill_exhaust" ] = loadfx( "maps/mp_maps/fx_mp_downhill_exhaust" );
|
||||
level._effect[ "fx_mp_downhill_tractor_lights" ] = loadfx( "maps/mp_maps/fx_mp_downhill_tractor_lights" );
|
||||
level._effect[ "fx_mp_downhill_tractor_lights_sm" ] = loadfx( "maps/mp_maps/fx_mp_downhill_tractor_lights_sm" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "wirespark_med" ] = %fxanim_gp_wirespark_med_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "teardrop_flag" ] = %fxanim_gp_teardrop_flag_loop_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "windsock" ] = %fxanim_gp_windsock_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "quad_chair" ] = %viewmodel_fxanim_mp_downhill_quad_chair_loop_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "xmas_lights" ] = %fxanim_gp_xmas_lights_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "standing_skiis" ] = %fxanim_mp_downhill_standing_skiis_loop_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "standing_skiis_02" ] = %fxanim_mp_downhill_standing_skiis_loop_02_anim;
|
||||
}
|
42
Multiplayer Maps/mp_drone/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_drone/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
25
Multiplayer Maps/mp_drone/maps/mp/createart/mp_drone_art.gsc
Normal file
25
Multiplayer Maps/mp_drone/maps/mp/createart/mp_drone_art.gsc
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
main()
|
||||
{
|
||||
level.tweakfile = 1;
|
||||
setdvar( "scr_fog_exp_halfplane", "3759.28" );
|
||||
setdvar( "scr_fog_exp_halfheight", "243.735" );
|
||||
setdvar( "scr_fog_nearplane", "601.593" );
|
||||
setdvar( "scr_fog_red", "0.806694" );
|
||||
setdvar( "scr_fog_green", "0.962521" );
|
||||
setdvar( "scr_fog_blue", "0.9624" );
|
||||
setdvar( "scr_fog_baseheight", "-475.268" );
|
||||
setdvar( "visionstore_glowTweakEnable", "0" );
|
||||
setdvar( "visionstore_glowTweakRadius0", "5" );
|
||||
setdvar( "visionstore_glowTweakRadius1", "" );
|
||||
setdvar( "visionstore_glowTweakBloomCutoff", "0.5" );
|
||||
setdvar( "visionstore_glowTweakBloomDesaturation", "0" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity0", "1" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity1", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity0", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity1", "" );
|
||||
visionsetnaked( "mp_drone", 1 );
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
}
|
2375
Multiplayer Maps/mp_drone/maps/mp/createfx/mp_drone_fx.gsc
Normal file
2375
Multiplayer Maps/mp_drone/maps/mp/createfx/mp_drone_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
70
Multiplayer Maps/mp_drone/maps/mp/mp_drone.gsc
Normal file
70
Multiplayer Maps/mp_drone/maps/mp/mp_drone.gsc
Normal file
@ -0,0 +1,70 @@
|
||||
#include maps/mp/mp_drone_doors;
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
precachemodel( "fxanim_gp_robot_arm_welder_server_side_mod" );
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
welders = [];
|
||||
welders[ welders.size ] = ( -1339,51, 76,04, 136,11 );
|
||||
welders[ welders.size ] = ( -1339,51, -171,9, 136,11 );
|
||||
welders[ welders.size ] = ( -1339,51, 559,04, 136,12 );
|
||||
welders[ welders.size ] = ( -1339,51, 312,01, 136,12 );
|
||||
maps/mp/mp_drone_fx::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_drone" );
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_drone_amb::main();
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
if ( getgametypesetting( "allowMapScripting" ) )
|
||||
{
|
||||
level maps/mp/mp_drone_doors::init();
|
||||
}
|
||||
level.remotemotarviewleft = 35;
|
||||
level.remotemotarviewright = 35;
|
||||
level.remotemotarviewup = 18;
|
||||
setheliheightpatchenabled( "war_mode_heli_height_lock", 0 );
|
||||
geo_changes();
|
||||
_a54 = welders;
|
||||
_k54 = getFirstArrayKey( _a54 );
|
||||
while ( isDefined( _k54 ) )
|
||||
{
|
||||
welder = _a54[ _k54 ];
|
||||
collision = spawn( "script_model", welder );
|
||||
collision setmodel( "fxanim_gp_robot_arm_welder_server_side_mod" );
|
||||
_k54 = getNextArrayKey( _a54, _k54 );
|
||||
}
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
|
||||
}
|
||||
|
||||
geo_changes()
|
||||
{
|
||||
rts_floor = getent( "overwatch_floor", "targetname" );
|
||||
if ( isDefined( rts_floor ) )
|
||||
{
|
||||
rts_floor delete();
|
||||
}
|
||||
removes = getentarray( "rts_only", "targetname" );
|
||||
_a77 = removes;
|
||||
_k77 = getFirstArrayKey( _a77 );
|
||||
while ( isDefined( _k77 ) )
|
||||
{
|
||||
removal = _a77[ _k77 ];
|
||||
removal delete();
|
||||
_k77 = getNextArrayKey( _a77, _k77 );
|
||||
}
|
||||
}
|
6
Multiplayer Maps/mp_drone/maps/mp/mp_drone_amb.gsc
Normal file
6
Multiplayer Maps/mp_drone/maps/mp/mp_drone_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
250
Multiplayer Maps/mp_drone/maps/mp/mp_drone_doors.gsc
Normal file
250
Multiplayer Maps/mp_drone/maps/mp/mp_drone_doors.gsc
Normal file
@ -0,0 +1,250 @@
|
||||
#include maps/mp/_tacticalinsertion;
|
||||
#include maps/mp/gametypes/_weaponobjects;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
init()
|
||||
{
|
||||
triggers = getentarray( "trigger_multiple", "classname" );
|
||||
i = 0;
|
||||
while ( i < 4 )
|
||||
{
|
||||
door = getent( "drone_door" + i, "targetname" );
|
||||
if ( !isDefined( door ) )
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
right = anglesToForward( door.angles );
|
||||
right = vectorScale( right, 116 );
|
||||
door.opened = 1;
|
||||
door.origin_opened = door.origin;
|
||||
door.force_open_time = 0;
|
||||
if ( isDefined( door.script_noteworthy ) && door.script_noteworthy == "flip" )
|
||||
{
|
||||
door.origin_closed = door.origin + right;
|
||||
}
|
||||
else
|
||||
{
|
||||
door.origin_closed = door.origin - right;
|
||||
}
|
||||
door.mins = door getmins();
|
||||
door.maxs = door getmaxs();
|
||||
door setcandamage( 1 );
|
||||
door allowbottargetting( 0 );
|
||||
door.triggers = [];
|
||||
_a49 = triggers;
|
||||
_k49 = getFirstArrayKey( _a49 );
|
||||
while ( isDefined( _k49 ) )
|
||||
{
|
||||
trigger = _a49[ _k49 ];
|
||||
if ( isDefined( trigger.target ) )
|
||||
{
|
||||
if ( trigger.target == door.targetname )
|
||||
{
|
||||
trigger.mins = trigger getmins();
|
||||
trigger.maxs = trigger getmaxs();
|
||||
door.triggers[ door.triggers.size ] = trigger;
|
||||
}
|
||||
}
|
||||
_k49 = getNextArrayKey( _a49, _k49 );
|
||||
}
|
||||
door thread door_damage_think();
|
||||
door thread door_think( i );
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
door_think( index )
|
||||
{
|
||||
wait ( 0,05 * index );
|
||||
self door_close();
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,25;
|
||||
if ( self door_should_open() )
|
||||
{
|
||||
self door_open();
|
||||
}
|
||||
else
|
||||
{
|
||||
self door_close();
|
||||
}
|
||||
self movement_process();
|
||||
}
|
||||
}
|
||||
|
||||
door_should_open()
|
||||
{
|
||||
if ( getTime() < self.force_open_time )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
_a97 = self.triggers;
|
||||
_k97 = getFirstArrayKey( _a97 );
|
||||
while ( isDefined( _k97 ) )
|
||||
{
|
||||
trigger = _a97[ _k97 ];
|
||||
if ( trigger trigger_is_occupied() )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
_k97 = getNextArrayKey( _a97, _k97 );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
door_open()
|
||||
{
|
||||
if ( self.opened )
|
||||
{
|
||||
return;
|
||||
}
|
||||
dist = distance( self.origin_opened, self.origin );
|
||||
frac = dist / 116;
|
||||
time = clamp( frac * 0,5, 0,1, 0,5 );
|
||||
self moveto( self.origin_opened, time );
|
||||
self playsound( "mpl_drone_door_open" );
|
||||
self.opened = 1;
|
||||
}
|
||||
|
||||
door_close()
|
||||
{
|
||||
if ( !self.opened )
|
||||
{
|
||||
return;
|
||||
}
|
||||
dist = distance( self.origin_closed, self.origin );
|
||||
frac = dist / 116;
|
||||
time = clamp( frac * 0,5, 0,1, 0,5 );
|
||||
self moveto( self.origin_closed, time );
|
||||
self playsound( "mpl_drone_door_close" );
|
||||
self.opened = 0;
|
||||
}
|
||||
|
||||
movement_process()
|
||||
{
|
||||
moving = 0;
|
||||
if ( self.opened )
|
||||
{
|
||||
if ( distancesquared( self.origin, self.origin_opened ) > 0,001 )
|
||||
{
|
||||
moving = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( distancesquared( self.origin, self.origin_closed ) > 0,001 )
|
||||
{
|
||||
moving = 1;
|
||||
}
|
||||
}
|
||||
while ( moving )
|
||||
{
|
||||
entities = gettouchingvolume( self.origin, self.mins, self.maxs );
|
||||
_a165 = entities;
|
||||
_k165 = getFirstArrayKey( _a165 );
|
||||
while ( isDefined( _k165 ) )
|
||||
{
|
||||
entity = _a165[ _k165 ];
|
||||
if ( isDefined( entity.classname ) && entity.classname == "grenade" )
|
||||
{
|
||||
if ( !isDefined( entity.name ) )
|
||||
{
|
||||
}
|
||||
else if ( !isDefined( entity.owner ) )
|
||||
{
|
||||
}
|
||||
else watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
if ( !isDefined( watcher ) )
|
||||
{
|
||||
}
|
||||
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
|
||||
}
|
||||
if ( self.opened )
|
||||
{
|
||||
}
|
||||
else if ( isDefined( entity.classname ) && entity.classname == "auto_turret" )
|
||||
{
|
||||
if ( !isDefined( entity.damagedtodeath ) || !entity.damagedtodeath )
|
||||
{
|
||||
entity domaxdamage( self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" )
|
||||
{
|
||||
entity maps/mp/_tacticalinsertion::destroy_tactical_insertion();
|
||||
}
|
||||
}
|
||||
_k165 = getNextArrayKey( _a165, _k165 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
trigger_is_occupied()
|
||||
{
|
||||
entities = gettouchingvolume( self.origin, self.mins, self.maxs );
|
||||
_a221 = entities;
|
||||
_k221 = getFirstArrayKey( _a221 );
|
||||
while ( isDefined( _k221 ) )
|
||||
{
|
||||
entity = _a221[ _k221 ];
|
||||
if ( isalive( entity ) )
|
||||
{
|
||||
if ( !isplayer( entity ) || isai( entity ) && isvehicle( entity ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
_k221 = getNextArrayKey( _a221, _k221 );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
getwatcherforweapon( weapname )
|
||||
{
|
||||
if ( !isDefined( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
if ( !isplayer( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < self.weaponobjectwatcherarray.size )
|
||||
{
|
||||
if ( self.weaponobjectwatcherarray[ i ].weapon != weapname )
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
return self.weaponobjectwatcherarray[ i ];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
door_damage_think()
|
||||
{
|
||||
self.maxhealth = 99999;
|
||||
self.health = self.maxhealth;
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "damage", damage, attacker, dir, point, mod, model, tag, part, weapon, flags );
|
||||
self.maxhealth = 99999;
|
||||
self.health = self.maxhealth;
|
||||
if ( mod == "MOD_PISTOL_BULLET" || mod == "MOD_RIFLE_BULLET" )
|
||||
{
|
||||
self.force_open_time = getTime() + 1500;
|
||||
}
|
||||
}
|
||||
}
|
97
Multiplayer Maps/mp_drone/maps/mp/mp_drone_fx.gsc
Normal file
97
Multiplayer Maps/mp_drone/maps/mp/mp_drone_fx.gsc
Normal file
@ -0,0 +1,97 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
|
||||
precache_util_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "fx_mp_drone_robot_sparks" ] = loadfx( "maps/mp_maps/fx_mp_drone_robot_sparks" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_leaves_falling_mangrove_lg_dark" ] = loadfx( "env/foliage/fx_leaves_falling_mangrove_lg_dark" );
|
||||
level._effect[ "fx_mp_vent_steam" ] = loadfx( "maps/mp_maps/fx_mp_vent_steam" );
|
||||
level._effect[ "fx_hvac_steam_md" ] = loadfx( "smoke/fx_hvac_steam_md" );
|
||||
level._effect[ "fx_mp_water_drip_light_shrt" ] = loadfx( "maps/mp_maps/fx_mp_water_drip_light_shrt" );
|
||||
level._effect[ "fx_fog_street_cool_slw_md" ] = loadfx( "fog/fx_fog_street_cool_slw_md" );
|
||||
level._effect[ "fx_light_emrgncy_floodlight" ] = loadfx( "light/fx_light_emrgncy_floodlight" );
|
||||
level._effect[ "fx_insects_swarm_dark_lg" ] = loadfx( "bio/insects/fx_insects_swarm_dark_lg" );
|
||||
level._effect[ "fx_mp_fog_low" ] = loadfx( "maps/mp_maps/fx_mp_fog_low" );
|
||||
level._effect[ "fx_insects_swarm_md_light" ] = loadfx( "bio/insects/fx_insects_swarm_md_light" );
|
||||
level._effect[ "fx_lf_dockside_sun1" ] = loadfx( "lens_flares/fx_lf_mp_drone_sun1" );
|
||||
level._effect[ "fx_light_floodlight_rnd_cool_glw_dim" ] = loadfx( "light/fx_light_floodlight_rnd_cool_glw_dim" );
|
||||
level._effect[ "fx_mp_steam_pipe_md" ] = loadfx( "maps/mp_maps/fx_mp_steam_pipe_md" );
|
||||
level._effect[ "fx_mp_light_dust_motes_md" ] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
||||
level._effect[ "fx_mp_light_dust_motes_sm" ] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_sm" );
|
||||
level._effect[ "fx_mp_fog_cool_ground" ] = loadfx( "maps/mp_maps/fx_mp_fog_cool_ground" );
|
||||
level._effect[ "fx_red_button_flash" ] = loadfx( "light/fx_red_button_flash" );
|
||||
level._effect[ "fx_mp_distant_cloud" ] = loadfx( "maps/mp_maps/fx_mp_distant_cloud_lowmem" );
|
||||
level._effect[ "fx_light_god_ray_mp_drone" ] = loadfx( "env/light/fx_light_god_ray_mp_drone" );
|
||||
level._effect[ "fx_mp_fumes_vent_xsm_int" ] = loadfx( "maps/mp_maps/fx_mp_fumes_vent_xsm_int" );
|
||||
level._effect[ "fx_ceiling_circle_light_glare" ] = loadfx( "light/fx_ceiling_circle_light_glare" );
|
||||
level._effect[ "fx_drone_rectangle_light" ] = loadfx( "light/fx_drone_rectangle_light" );
|
||||
level._effect[ "fx_drone_rectangle_light_02" ] = loadfx( "light/fx_drone_rectangle_light_02" );
|
||||
level._effect[ "fx_mp_water_drip_light_long" ] = loadfx( "maps/mp_maps/fx_mp_water_drip_light_long" );
|
||||
level._effect[ "fx_pc_panel_lights_runner" ] = loadfx( "props/fx_pc_panel_lights_runner" );
|
||||
level._effect[ "fx_drone_red_ring_console" ] = loadfx( "light/fx_drone_red_ring_console" );
|
||||
level._effect[ "fx_blue_light_flash" ] = loadfx( "light/fx_blue_light_flash" );
|
||||
level._effect[ "fx_window_god_ray" ] = loadfx( "light/fx_window_god_ray" );
|
||||
level._effect[ "fx_mp_drone_interior_steam" ] = loadfx( "maps/mp_maps/fx_mp_drone_interior_steam" );
|
||||
level._effect[ "fx_pc_panel_heli" ] = loadfx( "props/fx_pc_panel_heli" );
|
||||
level._effect[ "fx_red_light_flash" ] = loadfx( "light/fx_red_light_flash" );
|
||||
level._effect[ "fx_drone_rectangle_light_blue" ] = loadfx( "light/fx_drone_rectangle_light_blue" );
|
||||
level._effect[ "fx_mp_distant_cloud_vista" ] = loadfx( "maps/mp_maps/fx_mp_distant_cloud_vista_lowmem" );
|
||||
level._effect[ "fx_drone_rectangle_light_blue_4" ] = loadfx( "light/fx_drone_rectangle_light_blue_4" );
|
||||
level._effect[ "fx_drone_rectangle_light_yellow" ] = loadfx( "light/fx_drone_rectangle_light_yellow" );
|
||||
level._effect[ "fx_ceiling_circle_light_led" ] = loadfx( "light/fx_ceiling_circle_light_led" );
|
||||
level._effect[ "fx_drone_red_ring_console_runner" ] = loadfx( "light/fx_drone_red_ring_console_runner" );
|
||||
level._effect[ "fx_light_beacon_red_blink_fst" ] = loadfx( "light/fx_light_beacon_red_blink_fst" );
|
||||
level._effect[ "fx_wall_water_ground" ] = loadfx( "water/fx_wall_water_ground" );
|
||||
level._effect[ "fx_drone_rectangle_light_03" ] = loadfx( "light/fx_drone_rectangle_light_03" );
|
||||
level._effect[ "fx_drone_red_blink" ] = loadfx( "light/fx_drone_red_blink" );
|
||||
level._effect[ "fx_light_god_ray_mp_drone2" ] = loadfx( "env/light/fx_light_god_ray_mp_drone2" );
|
||||
level._effect[ "fx_drone_rectangle_light_skinny" ] = loadfx( "light/fx_drone_rectangle_light_skinny" );
|
||||
level._effect[ "fx_mp_drone_rapid" ] = loadfx( "maps/mp_maps/fx_mp_drone_rapid" );
|
||||
level._effect[ "fx_mp_distant_cloud_vista_lg" ] = loadfx( "maps/mp_maps/fx_mp_distant_cloud_vista_lg_lowmem" );
|
||||
level._effect[ "fx_light_exit_sign" ] = loadfx( "light/fx_light_exit_sign_glow" );
|
||||
level._effect[ "fx_drone_light_yellow" ] = loadfx( "light/fx_drone_light_yellow" );
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_util_fx();
|
||||
precache_createfx_fx();
|
||||
precache_scripted_fx();
|
||||
maps/mp/createfx/mp_drone_fx::main();
|
||||
maps/mp/createart/mp_drone_art::main();
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "vines_aquilaria" ] = %fxanim_gp_vines_aquilaria_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "vines_strangler_fig" ] = %fxanim_gp_vines_strangler_fig_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_factory" ] = %fxanim_mp_drone_factory_link_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_welder1" ] = %fxanim_mp_drone_factory_welder_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_welder2" ] = %fxanim_mp_drone_factory_welder_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_welder3" ] = %fxanim_mp_drone_factory_welder_03_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_welder4" ] = %fxanim_mp_drone_factory_welder_04_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_suction1" ] = %fxanim_mp_drone_factory_suction_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_suction2" ] = %fxanim_mp_drone_factory_suction_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_suction3" ] = %fxanim_mp_drone_factory_suction_03_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_suction4" ] = %fxanim_mp_drone_factory_suction_04_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_factory_off" ] = %fxanim_mp_drone_factory_link_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_welder1_off" ] = %fxanim_mp_drone_factory_welder_01_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_welder2_off" ] = %fxanim_mp_drone_factory_welder_02_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_welder3_off" ] = %fxanim_mp_drone_factory_welder_03_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_welder4_off" ] = %fxanim_mp_drone_factory_welder_04_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_suction1_off" ] = %fxanim_mp_drone_factory_suction_01_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_suction2_off" ] = %fxanim_mp_drone_factory_suction_02_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_suction3_off" ] = %fxanim_mp_drone_factory_suction_03_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "drone_suction4_off" ] = %fxanim_mp_drone_factory_suction_04_off_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "vines_strangler_fig_alt" ] = %fxanim_gp_vines_strangler_fig_alt_anim;
|
||||
}
|
42
Multiplayer Maps/mp_express/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_express/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
114
Multiplayer Maps/mp_express/maps/mp/_events.gsc
Normal file
114
Multiplayer Maps/mp_express/maps/mp/_events.gsc
Normal file
@ -0,0 +1,114 @@
|
||||
#include maps/mp/gametypes/_globallogic_utils;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
add_timed_event( seconds, notify_string, client_notify_string )
|
||||
{
|
||||
/#
|
||||
assert( seconds >= 0 );
|
||||
#/
|
||||
if ( level.timelimit > 0 )
|
||||
{
|
||||
level thread timed_event_monitor( seconds, notify_string, client_notify_string );
|
||||
}
|
||||
}
|
||||
|
||||
timed_event_monitor( seconds, notify_string, client_notify_string )
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,5;
|
||||
if ( !isDefined( level.starttime ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
millisecs_remaining = maps/mp/gametypes/_globallogic_utils::gettimeremaining();
|
||||
seconds_remaining = millisecs_remaining / 1000;
|
||||
if ( seconds_remaining <= seconds )
|
||||
{
|
||||
event_notify( notify_string, client_notify_string );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
add_score_event( score, notify_string, client_notify_string )
|
||||
{
|
||||
/#
|
||||
assert( score >= 0 );
|
||||
#/
|
||||
if ( level.scorelimit > 0 )
|
||||
{
|
||||
if ( level.teambased )
|
||||
{
|
||||
level thread score_team_event_monitor( score, notify_string, client_notify_string );
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread score_event_monitor( score, notify_string, client_notify_string );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
any_team_reach_score( score )
|
||||
{
|
||||
_a63 = level.teams;
|
||||
_k63 = getFirstArrayKey( _a63 );
|
||||
while ( isDefined( _k63 ) )
|
||||
{
|
||||
team = _a63[ _k63 ];
|
||||
if ( game[ "teamScores" ][ team ] >= score )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
_k63 = getNextArrayKey( _a63, _k63 );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
score_team_event_monitor( score, notify_string, client_notify_string )
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,5;
|
||||
if ( any_team_reach_score( score ) )
|
||||
{
|
||||
event_notify( notify_string, client_notify_string );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
score_event_monitor( score, notify_string, client_notify_string )
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,5;
|
||||
players = get_players();
|
||||
i = 0;
|
||||
while ( i < players.size )
|
||||
{
|
||||
if ( isDefined( players[ i ].score ) && players[ i ].score >= score )
|
||||
{
|
||||
event_notify( notify_string, client_notify_string );
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
event_notify( notify_string, client_notify_string )
|
||||
{
|
||||
if ( isDefined( notify_string ) )
|
||||
{
|
||||
level notify( notify_string );
|
||||
}
|
||||
if ( isDefined( client_notify_string ) )
|
||||
{
|
||||
clientnotify( client_notify_string );
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
|
||||
main()
|
||||
{
|
||||
level.tweakfile = 1;
|
||||
setdvar( "scr_fog_exp_halfplane", "3759.28" );
|
||||
setdvar( "scr_fog_exp_halfheight", "243.735" );
|
||||
setdvar( "scr_fog_nearplane", "601.593" );
|
||||
setdvar( "scr_fog_red", "0.806694" );
|
||||
setdvar( "scr_fog_green", "0.962521" );
|
||||
setdvar( "scr_fog_blue", "0.9624" );
|
||||
setdvar( "scr_fog_baseheight", "-475.268" );
|
||||
setdvar( "visionstore_glowTweakEnable", "0" );
|
||||
setdvar( "visionstore_glowTweakRadius0", "5" );
|
||||
setdvar( "visionstore_glowTweakRadius1", "" );
|
||||
setdvar( "visionstore_glowTweakBloomCutoff", "0.5" );
|
||||
setdvar( "visionstore_glowTweakBloomDesaturation", "0" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity0", "1" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity1", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity0", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity1", "" );
|
||||
visionsetnaked( "mp_express", 1 );
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
}
|
1832
Multiplayer Maps/mp_express/maps/mp/createfx/mp_express_fx.gsc
Normal file
1832
Multiplayer Maps/mp_express/maps/mp/createfx/mp_express_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
65
Multiplayer Maps/mp_express/maps/mp/mp_express.gsc
Normal file
65
Multiplayer Maps/mp_express/maps/mp/mp_express.gsc
Normal file
@ -0,0 +1,65 @@
|
||||
#include maps/mp/mp_express_train;
|
||||
#include maps/mp/_compass;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
maps/mp/mp_express_fx::main();
|
||||
maps/mp/_load::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_express" );
|
||||
maps/mp/mp_express_amb::main();
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
registerclientfield( "vehicle", "train_moving", 1, 1, "int" );
|
||||
registerclientfield( "scriptmover", "train_moving", 1, 1, "int" );
|
||||
if ( getgametypesetting( "allowMapScripting" ) )
|
||||
{
|
||||
maps/mp/mp_express_train::init();
|
||||
}
|
||||
/#
|
||||
level thread devgui_express();
|
||||
execdevgui( "devgui_mp_express" );
|
||||
#/
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1900", reset_dvars );
|
||||
}
|
||||
|
||||
devgui_express()
|
||||
{
|
||||
/#
|
||||
setdvar( "devgui_notify", "" );
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,5;
|
||||
devgui_string = getDvar( "devgui_notify" );
|
||||
switch( devgui_string )
|
||||
{
|
||||
case "":
|
||||
break;
|
||||
case "train_start":
|
||||
level notify( "train_start" );
|
||||
break;
|
||||
default:
|
||||
}
|
||||
if ( getDvar( "devgui_notify" ) != "" )
|
||||
{
|
||||
setdvar( "devgui_notify", "" );
|
||||
}
|
||||
#/
|
||||
}
|
||||
}
|
||||
}
|
16
Multiplayer Maps/mp_express/maps/mp/mp_express_amb.gsc
Normal file
16
Multiplayer Maps/mp_express/maps/mp/mp_express_amb.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
#include common_scripts/utility;
|
||||
|
||||
main()
|
||||
{
|
||||
array_thread( getentarray( "advertisement", "targetname" ), ::advertisements );
|
||||
}
|
||||
|
||||
advertisements()
|
||||
{
|
||||
self playloopsound( "amb_" + self.script_noteworthy + "_ad" );
|
||||
self waittill( "damage" );
|
||||
self stoploopsound();
|
||||
self playloopsound( "amb_" + self.script_noteworthy + "_damaged_ad" );
|
||||
}
|
58
Multiplayer Maps/mp_express/maps/mp/mp_express_fx.gsc
Normal file
58
Multiplayer Maps/mp_express/maps/mp/mp_express_fx.gsc
Normal file
@ -0,0 +1,58 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_express_fx::main();
|
||||
maps/mp/createart/mp_express_art::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "fx_mp_debris_papers" ] = loadfx( "maps/mp_maps/fx_mp_debris_papers" );
|
||||
level._effect[ "fx_paper_interior_short" ] = loadfx( "debris/fx_paper_interior_short" );
|
||||
level._effect[ "fx_mp_light_dust_motes_md" ] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
||||
level._effect[ "fx_mp_fog_low" ] = loadfx( "maps/mp_maps/fx_mp_fog_low" );
|
||||
level._effect[ "fx_mp_express_train_blow_dust" ] = loadfx( "maps/mp_maps/fx_mp_express_train_blow_dust" );
|
||||
level._effect[ "fx_mp_express_fog_water" ] = loadfx( "maps/mp_maps/fx_mp_express_fog_water" );
|
||||
level._effect[ "fx_mp_fumes_vent_xsm_int" ] = loadfx( "maps/mp_maps/fx_mp_fumes_vent_xsm_int" );
|
||||
level._effect[ "fx_mp_vent_heat_distort" ] = loadfx( "maps/mp_maps/fx_mp_vent_heat_distort" );
|
||||
level._effect[ "fx_insects_swarm_dark_lg" ] = loadfx( "bio/insects/fx_insects_swarm_dark_lg" );
|
||||
level._effect[ "fx_mp_debris_papers_narrow" ] = loadfx( "maps/mp_maps/fx_mp_debris_papers_narrow" );
|
||||
level._effect[ "fx_insects_swarm_lg_light" ] = loadfx( "bio/insects/fx_insects_swarm_lg_light" );
|
||||
level._effect[ "fx_insects_swarm_md_light" ] = loadfx( "bio/insects/fx_insects_swarm_md_light" );
|
||||
level._effect[ "fx_mp_express_train_dust_side2" ] = loadfx( "maps/mp_maps/fx_mp_express_train_dust_side2" );
|
||||
level._effect[ "fx_mp_express_train_dust" ] = loadfx( "maps/mp_maps/fx_mp_express_train_dust" );
|
||||
level._effect[ "fx_mp_express_train_dust_side" ] = loadfx( "maps/mp_maps/fx_mp_express_train_dust_side" );
|
||||
level._effect[ "fx_lf_mp_express_sun1" ] = loadfx( "lens_flares/fx_lf_mp_express_sun1" );
|
||||
level._effect[ "fx_light_god_ray_mp_express" ] = loadfx( "env/light/fx_light_god_ray_mp_express" );
|
||||
level._effect[ "fx_light_god_ray_mp_express2" ] = loadfx( "env/light/fx_light_god_ray_mp_express2" );
|
||||
level._effect[ "fx_window_god_ray" ] = loadfx( "light/fx_window_god_ray" );
|
||||
level._effect[ "fx_express_ceiling_light_big" ] = loadfx( "light/fx_express_ceiling_light_big" );
|
||||
level._effect[ "fx_express_ceiling_light_small" ] = loadfx( "light/fx_express_ceiling_light_small" );
|
||||
level._effect[ "fx_window_god_ray_sm" ] = loadfx( "light/fx_window_god_ray_sm" );
|
||||
level._effect[ "fx_express_train_side_light" ] = loadfx( "light/fx_express_train_side_light" );
|
||||
level._effect[ "fx_express_hall_light_one" ] = loadfx( "light/fx_express_hall_light_one" );
|
||||
level._effect[ "fx_express_hall_light_5" ] = loadfx( "light/fx_express_hall_light_5" );
|
||||
level._effect[ "fx_light_god_ray_mp_slums" ] = loadfx( "env/light/fx_light_god_ray_mp_slums" );
|
||||
level._effect[ "fx_express_ceiling_light_xsm" ] = loadfx( "light/fx_express_ceiling_light_xsm" );
|
||||
level._effect[ "fx_mp_light_police_car" ] = loadfx( "maps/mp_maps/fx_mp_light_police_car" );
|
||||
level._effect[ "fx_drone_rectangle_light_03" ] = loadfx( "light/fx_drone_rectangle_light_03" );
|
||||
level._effect[ "fx_express_flood_light" ] = loadfx( "light/fx_express_flood_light" );
|
||||
level._effect[ "fx_express_flood_light_beam" ] = loadfx( "light/fx_express_flood_light_beam" );
|
||||
level._effect[ "fx_mp_express_vista_smoke01" ] = loadfx( "maps/mp_maps/fx_mp_express_vista_smoke01" );
|
||||
level._effect[ "fx_mp_express_vista_fire01" ] = loadfx( "maps/mp_maps/fx_mp_express_vista_fire01" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "banner_side_thin" ] = %fxanim_mp_express_banner_side_thin_anim;
|
||||
}
|
651
Multiplayer Maps/mp_express/maps/mp/mp_express_train.gsc
Normal file
651
Multiplayer Maps/mp_express/maps/mp/mp_express_train.gsc
Normal file
@ -0,0 +1,651 @@
|
||||
#include maps/mp/killstreaks/_supplydrop;
|
||||
#include maps/mp/gametypes/_gameobjects;
|
||||
#include maps/mp/gametypes/ctf;
|
||||
#include maps/mp/gametypes/_weaponobjects;
|
||||
#include maps/mp/killstreaks/_rcbomb;
|
||||
#include maps/mp/_tacticalinsertion;
|
||||
#include maps/mp/_events;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
init()
|
||||
{
|
||||
precachevehicle( "express_train_engine_mp" );
|
||||
precachemodel( "p6_bullet_train_car_phys" );
|
||||
precachemodel( "p6_bullet_train_engine_rev" );
|
||||
precacheshader( "compass_train_carriage" );
|
||||
precachestring( &"traincar" );
|
||||
precachestring( &"trainengine" );
|
||||
gates = getentarray( "train_gate_rail", "targetname" );
|
||||
brushes = getentarray( "train_gate_rail_brush", "targetname" );
|
||||
triggers = getentarray( "train_gate_kill_trigger", "targetname" );
|
||||
traintriggers = getentarray( "train_kill_trigger", "targetname" );
|
||||
_a22 = brushes;
|
||||
_k22 = getFirstArrayKey( _a22 );
|
||||
while ( isDefined( _k22 ) )
|
||||
{
|
||||
brush = _a22[ _k22 ];
|
||||
brush disconnectpaths();
|
||||
_k22 = getNextArrayKey( _a22, _k22 );
|
||||
}
|
||||
waittime = 0,05;
|
||||
_a28 = gates;
|
||||
_k28 = getFirstArrayKey( _a28 );
|
||||
while ( isDefined( _k28 ) )
|
||||
{
|
||||
gate = _a28[ _k28 ];
|
||||
gate.waittime = waittime;
|
||||
waittime += 0,05;
|
||||
gate.og_origin = gate.origin;
|
||||
brush = getclosest( gate.origin, brushes );
|
||||
brush linkto( gate );
|
||||
gate.kill_trigger = getclosest( gate.origin, triggers );
|
||||
if ( isDefined( gate.kill_trigger ) )
|
||||
{
|
||||
gate.kill_trigger enablelinkto();
|
||||
gate.kill_trigger linkto( gate );
|
||||
}
|
||||
_k28 = getNextArrayKey( _a28, _k28 );
|
||||
}
|
||||
start = getvehiclenode( "train_start", "targetname" );
|
||||
endgates = getentarray( "train_gate_rail_end", "targetname" );
|
||||
entrygate = getclosest( start.origin, endgates );
|
||||
i = 0;
|
||||
while ( i < endgates.size )
|
||||
{
|
||||
if ( endgates[ i ] == entrygate )
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
exitgate = endgates[ i ];
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
cars = [];
|
||||
cars[ 0 ] = spawnvehicle( "p6_bullet_train_engine_phys", "train", "express_train_engine_mp", start.origin, ( 0, 0, 1 ) );
|
||||
cars[ 0 ] ghost();
|
||||
cars[ 0 ] setcheapflag( 1 );
|
||||
_a64 = traintriggers;
|
||||
_k64 = getFirstArrayKey( _a64 );
|
||||
while ( isDefined( _k64 ) )
|
||||
{
|
||||
traintrigger = _a64[ _k64 ];
|
||||
cars[ 0 ].trainkilltrigger = traintrigger;
|
||||
traintrigger.origin = start.origin;
|
||||
traintrigger enablelinkto();
|
||||
traintrigger linkto( cars[ 0 ] );
|
||||
_k64 = getNextArrayKey( _a64, _k64 );
|
||||
}
|
||||
i = 1;
|
||||
while ( i < 20 )
|
||||
{
|
||||
cars[ i ] = spawn( "script_model", start.origin );
|
||||
cars[ i ] setmodel( "p6_bullet_train_car_phys" );
|
||||
cars[ i ] ghost();
|
||||
cars[ i ] setcheapflag( 1 );
|
||||
i++;
|
||||
}
|
||||
cars[ 20 ] = spawn( "script_model", start.origin );
|
||||
cars[ 20 ] setmodel( "p6_bullet_train_engine_rev" );
|
||||
cars[ 20 ] ghost();
|
||||
cars[ 20 ] setcheapflag( 1 );
|
||||
if ( level.timelimit )
|
||||
{
|
||||
seconds = level.timelimit * 60;
|
||||
add_timed_event( int( seconds * 0,25 ), "train_start" );
|
||||
add_timed_event( int( seconds * 0,75 ), "train_start" );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( level.scorelimit )
|
||||
{
|
||||
add_score_event( int( level.scorelimit * 0,25 ), "train_start" );
|
||||
add_score_event( int( level.scorelimit * 0,75 ), "train_start" );
|
||||
}
|
||||
}
|
||||
level thread train_think( gates, entrygate, exitgate, cars, start );
|
||||
}
|
||||
|
||||
showaftertime( time )
|
||||
{
|
||||
wait time;
|
||||
self show();
|
||||
}
|
||||
|
||||
train_think( gates, entrygate, exitgate, cars, start )
|
||||
{
|
||||
level endon( "game_ended" );
|
||||
for ( ;; )
|
||||
{
|
||||
level waittill( "train_start" );
|
||||
entrygate gate_move( -172 );
|
||||
traintiming = getdvarfloatdefault( "scr_express_trainTiming", 4 );
|
||||
exitgate thread waitthenmove( traintiming, -172 );
|
||||
array_func( gates, ::gate_move, -172 );
|
||||
_a121 = gates;
|
||||
_k121 = getFirstArrayKey( _a121 );
|
||||
while ( isDefined( _k121 ) )
|
||||
{
|
||||
gate = _a121[ _k121 ];
|
||||
gate playloopsound( "amb_train_incomming_beep" );
|
||||
gate playsound( "amb_gate_move" );
|
||||
_k121 = getNextArrayKey( _a121, _k121 );
|
||||
}
|
||||
gatedownwait = getdvarintdefault( "scr_express_gateDownWait", 2 );
|
||||
wait gatedownwait;
|
||||
_a129 = gates;
|
||||
_k129 = getFirstArrayKey( _a129 );
|
||||
while ( isDefined( _k129 ) )
|
||||
{
|
||||
gate = _a129[ _k129 ];
|
||||
gate stoploopsound( 2 );
|
||||
_k129 = getNextArrayKey( _a129, _k129 );
|
||||
}
|
||||
wait 2;
|
||||
cars[ 0 ] attachpath( start );
|
||||
if ( isDefined( cars[ 0 ].trainkilltrigger ) )
|
||||
{
|
||||
cars[ 0 ] thread train_move_think( cars[ 0 ].trainkilltrigger );
|
||||
}
|
||||
cars[ 0 ] startpath();
|
||||
cars[ 0 ] showaftertime( 0,2 );
|
||||
cars[ 0 ] thread record_positions();
|
||||
cars[ 0 ] thread watch_end();
|
||||
cars[ 0 ] playloopsound( "amb_train_lp" );
|
||||
cars[ 0 ] setclientfield( "train_moving", 1 );
|
||||
next = "_b";
|
||||
i = 1;
|
||||
while ( i < cars.size )
|
||||
{
|
||||
if ( i == 1 )
|
||||
{
|
||||
wait 0,4;
|
||||
}
|
||||
else
|
||||
{
|
||||
wait 0,35;
|
||||
}
|
||||
if ( i >= 3 && ( i % 3 ) == 0 )
|
||||
{
|
||||
cars[ i ] playloopsound( "amb_train_lp" + next );
|
||||
switch( next )
|
||||
{
|
||||
case "_b":
|
||||
next = "_c";
|
||||
break;
|
||||
break;
|
||||
case "_c":
|
||||
next = "_d";
|
||||
break;
|
||||
break;
|
||||
case "_d":
|
||||
next = "";
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
next = "_b";
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
cars[ i ] thread watch_player_touch();
|
||||
if ( i == ( cars.size - 1 ) )
|
||||
{
|
||||
cars[ i ] thread car_move();
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
cars[ i ] thread car_move();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
traintiming = getdvarfloatdefault( "scr_express_trainTiming2", 2 );
|
||||
entrygate thread waitthenmove( traintiming );
|
||||
gateupwait = getdvarfloatdefault( "scr_express_gateUpWait", 6,5 );
|
||||
wait gateupwait;
|
||||
exitgate gate_move();
|
||||
array_func( gates, ::gate_move );
|
||||
_a205 = gates;
|
||||
_k205 = getFirstArrayKey( _a205 );
|
||||
while ( isDefined( _k205 ) )
|
||||
{
|
||||
gate = _a205[ _k205 ];
|
||||
gate playsound( "amb_gate_move" );
|
||||
_k205 = getNextArrayKey( _a205, _k205 );
|
||||
}
|
||||
wait 6;
|
||||
}
|
||||
}
|
||||
|
||||
waitthenmove( time, distance )
|
||||
{
|
||||
wait time;
|
||||
self gate_move( distance );
|
||||
}
|
||||
|
||||
record_positions()
|
||||
{
|
||||
self endon( "reached_end_node" );
|
||||
if ( isDefined( level.train_positions ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
level.train_positions = [];
|
||||
level.train_angles = [];
|
||||
for ( ;; )
|
||||
{
|
||||
level.train_positions[ level.train_positions.size ] = self.origin;
|
||||
level.train_angles[ level.train_angles.size ] = self.angles;
|
||||
wait 0,05;
|
||||
}
|
||||
}
|
||||
|
||||
watch_player_touch()
|
||||
{
|
||||
self endon( "end_of_track" );
|
||||
self endon( "delete" );
|
||||
self endon( "death" );
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "touch", entity );
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
entity dodamage( entity.health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
watch_end()
|
||||
{
|
||||
self waittill( "reached_end_node" );
|
||||
self ghost();
|
||||
self setclientfield( "train_moving", 0 );
|
||||
self stoploopsound( 0,2 );
|
||||
self playsound( "amb_train_end" );
|
||||
}
|
||||
|
||||
car_move()
|
||||
{
|
||||
self setclientfield( "train_moving", 1 );
|
||||
i = 0;
|
||||
while ( i < level.train_positions.size )
|
||||
{
|
||||
self.origin = level.train_positions[ i ];
|
||||
self.angles = level.train_angles[ i ];
|
||||
wait 0,05;
|
||||
if ( i == 4 )
|
||||
{
|
||||
self show();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
self notify( "end_of_track" );
|
||||
self ghost();
|
||||
self setclientfield( "train_moving", 0 );
|
||||
self stoploopsound( 0,2 );
|
||||
self playsound( "amb_train_end" );
|
||||
}
|
||||
|
||||
gate_rotate( yaw )
|
||||
{
|
||||
self rotateyaw( yaw, 5 );
|
||||
}
|
||||
|
||||
gate_move( z_dist )
|
||||
{
|
||||
if ( isDefined( self.kill_trigger ) )
|
||||
{
|
||||
self thread gate_move_think( isDefined( z_dist ) );
|
||||
}
|
||||
if ( !isDefined( z_dist ) )
|
||||
{
|
||||
self moveto( self.og_origin, 5 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self.og_origin = self.origin;
|
||||
self movez( z_dist, 5 );
|
||||
}
|
||||
}
|
||||
|
||||
train_move_think( kill_trigger )
|
||||
{
|
||||
self endon( "movedone" );
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,05;
|
||||
pixbeginevent( "train_move_think" );
|
||||
entities = getdamageableentarray( self.origin, 200 );
|
||||
_a327 = entities;
|
||||
_k327 = getFirstArrayKey( _a327 );
|
||||
while ( isDefined( _k327 ) )
|
||||
{
|
||||
entity = _a327[ _k327 ];
|
||||
if ( isDefined( entity.targetname ) && entity.targetname == "train" )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( !entity istouching( kill_trigger ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" )
|
||||
{
|
||||
entity maps/mp/_tacticalinsertion::destroy_tactical_insertion();
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !isalive( entity ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( isDefined( entity.targetname ) )
|
||||
{
|
||||
if ( entity.targetname == "talon" )
|
||||
{
|
||||
entity notify( "death" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "rcbomb" )
|
||||
{
|
||||
entity maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "riotshield_mp" )
|
||||
{
|
||||
entity dodamage( 1, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ( isDefined( entity.helitype ) && entity.helitype == "qrdrone" )
|
||||
{
|
||||
watcher = entity.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( entity.classname == "grenade" )
|
||||
{
|
||||
if ( !isDefined( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( !isDefined( entity.owner ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( entity.name == "proximity_grenade_mp" )
|
||||
{
|
||||
watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( !isweaponequipment( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
if ( !isDefined( watcher ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.classname == "auto_turret" )
|
||||
{
|
||||
if ( !isDefined( entity.damagedtodeath ) || !entity.damagedtodeath )
|
||||
{
|
||||
entity domaxdamage( self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity dodamage( entity.health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
_k327 = getNextArrayKey( _a327, _k327 );
|
||||
}
|
||||
self destroy_supply_crates();
|
||||
if ( level.gametype == "ctf" )
|
||||
{
|
||||
_a434 = level.flags;
|
||||
_k434 = getFirstArrayKey( _a434 );
|
||||
while ( isDefined( _k434 ) )
|
||||
{
|
||||
flag = _a434[ _k434 ];
|
||||
if ( flag.curorigin != flag.trigger.baseorigin && flag.visuals[ 0 ] istouching( kill_trigger ) )
|
||||
{
|
||||
flag maps/mp/gametypes/ctf::returnflag();
|
||||
}
|
||||
_k434 = getNextArrayKey( _a434, _k434 );
|
||||
}
|
||||
}
|
||||
else if ( level.gametype == "sd" && !level.multibomb )
|
||||
{
|
||||
if ( level.sdbomb.visuals[ 0 ] istouching( kill_trigger ) )
|
||||
{
|
||||
level.sdbomb maps/mp/gametypes/_gameobjects::returnhome();
|
||||
}
|
||||
}
|
||||
pixendevent();
|
||||
}
|
||||
}
|
||||
|
||||
gate_move_think( ignoreplayers )
|
||||
{
|
||||
self endon( "movedone" );
|
||||
corpse_delay = 0;
|
||||
if ( isDefined( self.waittime ) )
|
||||
{
|
||||
wait self.waittime;
|
||||
}
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,4;
|
||||
pixbeginevent( "gate_move_think" );
|
||||
entities = getdamageableentarray( self.origin, 100 );
|
||||
_a473 = entities;
|
||||
_k473 = getFirstArrayKey( _a473 );
|
||||
while ( isDefined( _k473 ) )
|
||||
{
|
||||
entity = _a473[ _k473 ];
|
||||
if ( ignoreplayers == 1 && isplayer( entity ) )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !entity istouching( self.kill_trigger ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" )
|
||||
{
|
||||
entity maps/mp/_tacticalinsertion::destroy_tactical_insertion();
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !isalive( entity ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( isDefined( entity.targetname ) )
|
||||
{
|
||||
if ( entity.targetname == "talon" )
|
||||
{
|
||||
entity notify( "death" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "rcbomb" )
|
||||
{
|
||||
entity maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "riotshield_mp" )
|
||||
{
|
||||
entity dodamage( 1, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ( isDefined( entity.helitype ) && entity.helitype == "qrdrone" )
|
||||
{
|
||||
watcher = entity.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( entity.classname == "grenade" )
|
||||
{
|
||||
if ( !isDefined( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( !isDefined( entity.owner ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( entity.name == "proximity_grenade_mp" )
|
||||
{
|
||||
watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( !isweaponequipment( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
if ( !isDefined( watcher ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.classname == "auto_turret" )
|
||||
{
|
||||
if ( !isDefined( entity.damagedtodeath ) || !entity.damagedtodeath )
|
||||
{
|
||||
entity domaxdamage( self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity dodamage( entity.health * 2, self.origin + ( 0, 0, 1 ), self, self, 0, "MOD_CRUSH" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
_k473 = getNextArrayKey( _a473, _k473 );
|
||||
}
|
||||
self destroy_supply_crates();
|
||||
if ( getTime() > corpse_delay )
|
||||
{
|
||||
self destroy_corpses();
|
||||
}
|
||||
if ( level.gametype == "ctf" )
|
||||
{
|
||||
_a578 = level.flags;
|
||||
_k578 = getFirstArrayKey( _a578 );
|
||||
while ( isDefined( _k578 ) )
|
||||
{
|
||||
flag = _a578[ _k578 ];
|
||||
if ( flag.visuals[ 0 ] istouching( self.kill_trigger ) )
|
||||
{
|
||||
flag maps/mp/gametypes/ctf::returnflag();
|
||||
}
|
||||
_k578 = getNextArrayKey( _a578, _k578 );
|
||||
}
|
||||
}
|
||||
else if ( level.gametype == "sd" && !level.multibomb )
|
||||
{
|
||||
if ( level.sdbomb.visuals[ 0 ] istouching( self.kill_trigger ) )
|
||||
{
|
||||
level.sdbomb maps/mp/gametypes/_gameobjects::returnhome();
|
||||
}
|
||||
}
|
||||
pixendevent();
|
||||
}
|
||||
}
|
||||
|
||||
getwatcherforweapon( weapname )
|
||||
{
|
||||
if ( !isDefined( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
if ( !isplayer( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < self.weaponobjectwatcherarray.size )
|
||||
{
|
||||
if ( self.weaponobjectwatcherarray[ i ].weapon != weapname )
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
return self.weaponobjectwatcherarray[ i ];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
destroy_supply_crates()
|
||||
{
|
||||
crates = getentarray( "care_package", "script_noteworthy" );
|
||||
_a628 = crates;
|
||||
_k628 = getFirstArrayKey( _a628 );
|
||||
while ( isDefined( _k628 ) )
|
||||
{
|
||||
crate = _a628[ _k628 ];
|
||||
if ( distancesquared( crate.origin, self.origin ) < 10000 )
|
||||
{
|
||||
if ( crate istouching( self ) )
|
||||
{
|
||||
playfx( level._supply_drop_explosion_fx, crate.origin );
|
||||
playsoundatposition( "wpn_grenade_explode", crate.origin );
|
||||
wait 0,1;
|
||||
crate maps/mp/killstreaks/_supplydrop::cratedelete();
|
||||
}
|
||||
}
|
||||
_k628 = getNextArrayKey( _a628, _k628 );
|
||||
}
|
||||
}
|
||||
|
||||
destroy_corpses()
|
||||
{
|
||||
corpses = getcorpsearray();
|
||||
i = 0;
|
||||
while ( i < corpses.size )
|
||||
{
|
||||
if ( distancesquared( corpses[ i ].origin, self.origin ) < 10000 )
|
||||
{
|
||||
corpses[ i ] delete();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
42
Multiplayer Maps/mp_frostbite/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_frostbite/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
2860
Multiplayer Maps/mp_frostbite/maps/mp/createfx/mp_frostbite_fx.gsc
Normal file
2860
Multiplayer Maps/mp_frostbite/maps/mp/createfx/mp_frostbite_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
168
Multiplayer Maps/mp_frostbite/maps/mp/mp_frostbite.gsc
Normal file
168
Multiplayer Maps/mp_frostbite/maps/mp/mp_frostbite.gsc
Normal file
@ -0,0 +1,168 @@
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
level thread spawnkilltrigger();
|
||||
maps/mp/mp_frostbite_fx::main();
|
||||
precachemodel( "dh_facilities_sign_08" );
|
||||
precachemodel( "p6_fro_concrete_planter" );
|
||||
precachemodel( "p6_fro_bookstore_window_trm" );
|
||||
precachemodel( "collision_clip_256x256x10" );
|
||||
precachemodel( "collision_clip_64x64x10" );
|
||||
precachemodel( "collision_physics_256x256x10" );
|
||||
precachemodel( "collision_clip_32x32x32" );
|
||||
precachemodel( "collision_clip_128x128x10" );
|
||||
precachemodel( "collision_clip_wall_32x32x10" );
|
||||
precachemodel( "collision_clip_wall_64x64x10" );
|
||||
precachemodel( "collision_mp_frost_kitchen_weap" );
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_frostbite_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_frostbite" );
|
||||
prop1 = spawn( "script_model", ( -972, 559, 182 ) );
|
||||
prop1.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
prop2 = spawn( "script_model", ( -973, 521, 182 ) );
|
||||
prop2.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
prop3 = spawn( "script_model", ( -972, 485, 182 ) );
|
||||
prop3.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
prop4 = spawn( "script_model", ( -966, 558, 182 ) );
|
||||
prop4.angles = vectorScale( ( 0, 0, 1 ), 270 );
|
||||
prop5 = spawn( "script_model", ( -965, 522, 182 ) );
|
||||
prop5.angles = vectorScale( ( 0, 0, 1 ), 270 );
|
||||
prop6 = spawn( "script_model", ( -966, 484, 182 ) );
|
||||
prop6.angles = vectorScale( ( 0, 0, 1 ), 270 );
|
||||
prop1 setmodel( "dh_facilities_sign_08" );
|
||||
prop2 setmodel( "dh_facilities_sign_08" );
|
||||
prop3 setmodel( "dh_facilities_sign_08" );
|
||||
prop4 setmodel( "dh_facilities_sign_08" );
|
||||
prop5 setmodel( "dh_facilities_sign_08" );
|
||||
prop6 setmodel( "dh_facilities_sign_08" );
|
||||
planter1 = spawn( "script_model", ( -1609, -827,405, 131,751 ) );
|
||||
planter1.angles = ( 359,846, 90,58, 89,9993 );
|
||||
planter2 = spawn( "script_model", ( -1609, -827,41, 81,75 ) );
|
||||
planter2.angles = ( 359,846, 90,58, 89,9993 );
|
||||
planter1 setmodel( "p6_fro_concrete_planter" );
|
||||
planter2 setmodel( "p6_fro_concrete_planter" );
|
||||
brick1 = spawn( "script_model", ( 1129, 703, 95,75 ) );
|
||||
brick1.angles = ( 90, 180, -90 );
|
||||
brick2 = spawn( "script_model", ( 1127,75, 712, 95,75 ) );
|
||||
brick2.angles = ( 90, 180, -90 );
|
||||
brick3 = spawn( "script_model", ( 1129, 703, 47,75 ) );
|
||||
brick3.angles = ( 90, 180, -90 );
|
||||
brick4 = spawn( "script_model", ( 1127,75, 712, 47,75 ) );
|
||||
brick4.angles = ( 90, 180, -90 );
|
||||
brick5 = spawn( "script_model", ( 1129, 694, 95,75 ) );
|
||||
brick5.angles = ( 90, 180, -90 );
|
||||
brick6 = spawn( "script_model", ( 1129, 694, 47,75 ) );
|
||||
brick6.angles = ( 90, 180, -90 );
|
||||
brick7 = spawn( "script_model", ( 1129, 685, 95,75 ) );
|
||||
brick7.angles = ( 90, 180, -90 );
|
||||
brick8 = spawn( "script_model", ( 1129, 685, 47,75 ) );
|
||||
brick8.angles = ( 90, 180, -90 );
|
||||
brick1 setmodel( "p6_fro_bookstore_window_trm" );
|
||||
brick2 setmodel( "p6_fro_bookstore_window_trm" );
|
||||
brick3 setmodel( "p6_fro_bookstore_window_trm" );
|
||||
brick4 setmodel( "p6_fro_bookstore_window_trm" );
|
||||
brick5 setmodel( "p6_fro_bookstore_window_trm" );
|
||||
brick6 setmodel( "p6_fro_bookstore_window_trm" );
|
||||
brick7 setmodel( "p6_fro_bookstore_window_trm" );
|
||||
brick8 setmodel( "p6_fro_bookstore_window_trm" );
|
||||
spawncollision( "collision_clip_256x256x10", "collider", ( 145, -1295,5, 115,5 ), vectorScale( ( 0, 0, 1 ), 88,9 ) );
|
||||
spawncollision( "collision_clip_256x256x10", "collider", ( 28, -1295,5, 115,5 ), vectorScale( ( 0, 0, 1 ), 88,9 ) );
|
||||
spawncollision( "collision_clip_256x256x10", "collider", ( 252,5, -1251,5, 114 ), ( 0, 45,1, -88,9 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 448, 1577, -10,5 ), vectorScale( ( 0, 0, 1 ), 277 ) );
|
||||
spawncollision( "collision_physics_256x256x10", "collider", ( 1199, 89, 67,5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_clip_32x32x32", "collider", ( 84,5, 361,75, 66,5 ), ( 359,904, 8,05247, 11,9159 ) );
|
||||
spawncollision( "collision_clip_32x32x32", "collider", ( 80, 390, 69,5 ), vectorScale( ( 0, 0, 1 ), 9,19998 ) );
|
||||
spawncollision( "collision_clip_32x32x32", "collider", ( 75,5, 418, 66,75 ), ( 1,00357, 9,19998, -11 ) );
|
||||
spawncollision( "collision_clip_128x128x10", "collider", ( 244,75, -860, -45 ), vectorScale( ( 0, 0, 1 ), 27 ) );
|
||||
spawncollision( "collision_clip_wall_32x32x10", "collider", ( 958,5, 716,5, 130 ), vectorScale( ( 0, 0, 1 ), 5,6 ) );
|
||||
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1126, -909, 44,5 ), vectorScale( ( 0, 0, 1 ), 105,6 ) );
|
||||
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789,5, 44,5 ), vectorScale( ( 0, 0, 1 ), 83,9 ) );
|
||||
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789,5, 107 ), vectorScale( ( 0, 0, 1 ), 83,9 ) );
|
||||
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1126, -909, 106 ), vectorScale( ( 0, 0, 1 ), 105,6 ) );
|
||||
spawncollision( "collision_clip_wall_64x64x10", "collider", ( -1130, -789,5, 164,5 ), vectorScale( ( 0, 0, 1 ), 83,9 ) );
|
||||
spawncollision( "collision_mp_frost_kitchen_weap", "collider", ( 1994, -281,5, 16 ), ( 0, 0, 1 ) );
|
||||
setdvar( "compassmaxrange", "2100" );
|
||||
visionsetnaked( "mp_frostbite", 1 );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
level.onplayerkilledextraunthreadedcbs[ level.onplayerkilledextraunthreadedcbs.size ] = ::on_player_killed;
|
||||
level.overrideplayerdeathwatchtimer = ::leveloverridetime;
|
||||
level glass_node_fix();
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2250", reset_dvars );
|
||||
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1000", reset_dvars );
|
||||
}
|
||||
|
||||
on_player_killed( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
|
||||
{
|
||||
if ( isDefined( smeansofdeath ) && smeansofdeath == "MOD_TRIGGER_HURT" )
|
||||
{
|
||||
depth = self depthinwater();
|
||||
if ( depth > 0 )
|
||||
{
|
||||
origin = self.origin + ( 0, 0, depth + 5 );
|
||||
self playsound( "mpl_splash_death" );
|
||||
playfx( level._effect[ "water_splash" ], origin );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
leveloverridetime( defaulttime )
|
||||
{
|
||||
if ( self.body depthinwater() > 0 )
|
||||
{
|
||||
return 0,4;
|
||||
}
|
||||
return defaulttime;
|
||||
}
|
||||
|
||||
glass_node_fix()
|
||||
{
|
||||
nodes = getallnodes();
|
||||
level thread glass_node_think( nodes[ 459 ] );
|
||||
level thread glass_node_think( nodes[ 454 ] );
|
||||
}
|
||||
|
||||
glass_node_think( node )
|
||||
{
|
||||
wait 0,25;
|
||||
ent = spawn( "script_model", node.origin, 1 );
|
||||
ent setmodel( level.deployedshieldmodel );
|
||||
ent hide();
|
||||
ent disconnectpaths();
|
||||
ent.origin -= vectorScale( ( 0, 0, 1 ), 64 );
|
||||
for ( ;; )
|
||||
{
|
||||
level waittill( "glass_smash", origin );
|
||||
if ( distancesquared( origin, node.origin ) < 65536 )
|
||||
{
|
||||
ent delete();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
spawnkilltrigger()
|
||||
{
|
||||
trigger = spawn( "trigger_radius", ( 536, -1304, -104 ), 0, 256, 128 );
|
||||
while ( 1 )
|
||||
{
|
||||
trigger waittill( "trigger", player );
|
||||
player dodamage( player.health * 2, trigger.origin, trigger, trigger, "none", "MOD_SUICIDE", 0, "lava_mp" );
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
71
Multiplayer Maps/mp_frostbite/maps/mp/mp_frostbite_fx.gsc
Normal file
71
Multiplayer Maps/mp_frostbite/maps/mp/mp_frostbite_fx.gsc
Normal file
@ -0,0 +1,71 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
#using_animtree( "fxanim_props_dlc4" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_fxanim_props_dlc4();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_frostbite_fx::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "water_splash" ] = loadfx( "bio/player/fx_player_water_splash_mp_frost" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_lf_mp_frostbite_sun" ] = loadfx( "lens_flares/fx_lf_mp_frostbite_sun" );
|
||||
level._effect[ "fx_mp_frostbite_snow_ledge_runner" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_ledge_runner" );
|
||||
level._effect[ "fx_mp_frostbite_snow_chunk_runner" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_chunk_runner" );
|
||||
level._effect[ "fx_mp_frostbite_snow_gust_runner" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_gust_runner" );
|
||||
level._effect[ "fx_mp_frostbite_snow_fog" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_fog" );
|
||||
level._effect[ "fx_mp_frostbite_snow_flurries" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_flurries" );
|
||||
level._effect[ "fx_mp_frostbite_snow_flurries_fine" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_flurries_fine" );
|
||||
level._effect[ "fx_mp_frostbite_snow_flurries_window" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_flurries_window" );
|
||||
level._effect[ "fx_mp_frostbite_snow_flurries_vista" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_flurries_vista" );
|
||||
level._effect[ "fx_mp_frostbite_snow_gust_sm_runner" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_gust_sm_runner" );
|
||||
level._effect[ "fx_mp_frostbite_snow_swirl_runner" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_swirl_runner" );
|
||||
level._effect[ "fx_mp_frostbite_ground_blow" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_ground_blow" );
|
||||
level._effect[ "fx_mp_frostbite_snow_gust_tree" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_gust_tree" );
|
||||
level._effect[ "fx_mp_frostbite_snow_gust_roof" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_snow_gust_roof" );
|
||||
level._effect[ "fx_mp_frostbite_ice_fall_runner" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_ice_fall_runner" );
|
||||
level._effect[ "fx_mp_frostbite_ice_fall_sm_runner" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_ice_fall_sm_runner" );
|
||||
level._effect[ "fx_mp_frostbite_lamp_post" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_lamp_post" );
|
||||
level._effect[ "fx_frostbite_circle_light_glare" ] = loadfx( "light/fx_frostbite_circle_light_glare" );
|
||||
level._effect[ "fx_frostbite_circle_light_glare_flr" ] = loadfx( "light/fx_frostbite_circle_light_glare_flr" );
|
||||
level._effect[ "fx_mp_frostbite_lamp_int" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_lamp_int" );
|
||||
level._effect[ "fx_frostbite_exit_sign" ] = loadfx( "light/fx_frostbite_exit_sign" );
|
||||
level._effect[ "fx_mp_frostbite_sign_glow" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_sign_glow" );
|
||||
level._effect[ "fx_mp_frostbite_sign_glow_flick" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_sign_glow_flick" );
|
||||
level._effect[ "fx_light_track_omni" ] = loadfx( "light/fx_light_track_omni" );
|
||||
level._effect[ "fx_mp_frostbite_chimney_smk" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_chimney_smk" );
|
||||
level._effect[ "fx_mp_frostbite_chimney_smk_dark" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_chimney_smk_dark" );
|
||||
level._effect[ "fx_mp_frostbite_chimney_smk_vista" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_chimney_smk_vista" );
|
||||
level._effect[ "fx_mp_frostbite_steam" ] = loadfx( "maps/mp_maps/fx_mp_frostbite_steam" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "laundry" ] = %fxanim_gp_dryer_loop_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "dock_chain" ] = %fxanim_mp_ver_stair_chain_sign_anim;
|
||||
}
|
||||
|
||||
precache_fxanim_props_dlc4()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "pennants_01" ] = %fxanim_mp_frost_pennants_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "pennants_02" ] = %fxanim_mp_frost_pennants_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "candy_sign" ] = %fxanim_mp_frost_candy_sign_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "crane01" ] = %fxanim_mp_frostbite_crane_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "crane02" ] = %fxanim_mp_frostbite_crane_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "crane03" ] = %fxanim_mp_frostbite_crane_03_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "crane04" ] = %fxanim_mp_frostbite_crane_04_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "crane05" ] = %fxanim_mp_frostbite_crane_05_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "river_ice" ] = %fxanim_mp_frost_ice_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "river_ice2" ] = %fxanim_mp_frost_ice_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc4" ][ "gate" ] = %fxanim_mp_frost_gate_anim;
|
||||
}
|
42
Multiplayer Maps/mp_hijacked/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_hijacked/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
|
||||
main()
|
||||
{
|
||||
level.tweakfile = 1;
|
||||
setdvar( "visionstore_glowTweakEnable", "0" );
|
||||
setdvar( "visionstore_glowTweakRadius0", "5" );
|
||||
setdvar( "visionstore_glowTweakRadius1", "" );
|
||||
setdvar( "visionstore_glowTweakBloomCutoff", "0.5" );
|
||||
setdvar( "visionstore_glowTweakBloomDesaturation", "0" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity0", "1" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity1", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity0", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity1", "" );
|
||||
visionsetnaked( "mp_hijacked", 1 );
|
||||
setdvar( "r_lightGridEnableTweaks", 1 );
|
||||
setdvar( "r_lightGridIntensity", 1 );
|
||||
setdvar( "r_lightGridContrast", 0 );
|
||||
}
|
1125
Multiplayer Maps/mp_hijacked/maps/mp/createfx/mp_hijacked_fx.gsc
Normal file
1125
Multiplayer Maps/mp_hijacked/maps/mp/createfx/mp_hijacked_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
127
Multiplayer Maps/mp_hijacked/maps/mp/mp_hijacked.gsc
Normal file
127
Multiplayer Maps/mp_hijacked/maps/mp/mp_hijacked.gsc
Normal file
@ -0,0 +1,127 @@
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
level.overrideplayerdeathwatchtimer = ::leveloverridetime;
|
||||
level.useintermissionpointsonwavespawn = ::useintermissionpointsonwavespawn;
|
||||
maps/mp/mp_hijacked_fx::main();
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_hijacked_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_hijacked" );
|
||||
level thread water_trigger_init();
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "1600", reset_dvars );
|
||||
ss.dead_friend_influencer_radius = set_dvar_float_if_unset( "scr_spawn_dead_friend_influencer_radius", "1300", reset_dvars );
|
||||
ss.dead_friend_influencer_timeout_seconds = set_dvar_float_if_unset( "scr_spawn_dead_friend_influencer_timeout_seconds", "8", reset_dvars );
|
||||
ss.dead_friend_influencer_count = set_dvar_float_if_unset( "scr_spawn_dead_friend_influencer_count", "7", reset_dvars );
|
||||
ss.hq_objective_influencer_inner_radius = set_dvar_float_if_unset( "scr_spawn_hq_objective_influencer_inner_radius", "1200", reset_dvars );
|
||||
ss.koth_objective_influencer_inner_radius = 1400;
|
||||
}
|
||||
|
||||
water_trigger_init()
|
||||
{
|
||||
wait 3;
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a43 = triggers;
|
||||
_k43 = getFirstArrayKey( _a43 );
|
||||
while ( isDefined( _k43 ) )
|
||||
{
|
||||
trigger = _a43[ _k43 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger thread water_trigger_think();
|
||||
}
|
||||
_k43 = getNextArrayKey( _a43, _k43 );
|
||||
}
|
||||
triggers = getentarray( "water_killbrush", "targetname" );
|
||||
_a55 = triggers;
|
||||
_k55 = getFirstArrayKey( _a55 );
|
||||
while ( isDefined( _k55 ) )
|
||||
{
|
||||
trigger = _a55[ _k55 ];
|
||||
trigger thread player_splash_think();
|
||||
_k55 = getNextArrayKey( _a55, _k55 );
|
||||
}
|
||||
}
|
||||
|
||||
player_splash_think()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "trigger", entity );
|
||||
if ( isplayer( entity ) && isalive( entity ) )
|
||||
{
|
||||
self thread trigger_thread( entity, ::player_water_fx );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
player_water_fx( player, endon_condition )
|
||||
{
|
||||
maxs = self.origin + self getmaxs();
|
||||
if ( maxs[ 2 ] > 60 )
|
||||
{
|
||||
maxs += vectorScale( ( 0, 0, 1 ), 10 );
|
||||
}
|
||||
origin = ( player.origin[ 0 ], player.origin[ 1 ], maxs[ 2 ] );
|
||||
playfx( level._effect[ "water_splash_sm" ], origin );
|
||||
}
|
||||
|
||||
water_trigger_think()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "trigger", entity );
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
entity playsound( "mpl_splash_death" );
|
||||
playfx( level._effect[ "water_splash" ], entity.origin + vectorScale( ( 0, 0, 1 ), 40 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
leveloverridetime( defaulttime )
|
||||
{
|
||||
if ( self isinwater() )
|
||||
{
|
||||
return 0,4;
|
||||
}
|
||||
return defaulttime;
|
||||
}
|
||||
|
||||
useintermissionpointsonwavespawn()
|
||||
{
|
||||
return self isinwater();
|
||||
}
|
||||
|
||||
isinwater()
|
||||
{
|
||||
triggers = getentarray( "trigger_hurt", "classname" );
|
||||
_a120 = triggers;
|
||||
_k120 = getFirstArrayKey( _a120 );
|
||||
while ( isDefined( _k120 ) )
|
||||
{
|
||||
trigger = _a120[ _k120 ];
|
||||
if ( trigger.origin[ 2 ] > level.mapcenter[ 2 ] )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( self istouching( trigger ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
_k120 = getNextArrayKey( _a120, _k120 );
|
||||
}
|
||||
return 0;
|
||||
}
|
6
Multiplayer Maps/mp_hijacked/maps/mp/mp_hijacked_amb.gsc
Normal file
6
Multiplayer Maps/mp_hijacked/maps/mp/mp_hijacked_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
48
Multiplayer Maps/mp_hijacked/maps/mp/mp_hijacked_fx.gsc
Normal file
48
Multiplayer Maps/mp_hijacked/maps/mp/mp_hijacked_fx.gsc
Normal file
@ -0,0 +1,48 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "water_splash" ] = loadfx( "bio/player/fx_player_water_splash_mp" );
|
||||
level._effect[ "water_splash_sm" ] = loadfx( "bio/player/fx_player_water_splash_mp_sm" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_fire_candle" ] = loadfx( "fire/fx_fire_candle" );
|
||||
level._effect[ "fx_mp_hijacked_jacuzzi_surface" ] = loadfx( "maps/mp_maps/fx_mp_hijacked_jacuzzi_surface" );
|
||||
level._effect[ "fx_mp_hijacked_jacuzzi_steam" ] = loadfx( "maps/mp_maps/fx_mp_hijacked_jacuzzi_steam" );
|
||||
level._effect[ "fx_raid_hot_tub_sm" ] = loadfx( "water/fx_raid_hot_tub_sm" );
|
||||
level._effect[ "fx_mp_vent_heat_distort" ] = loadfx( "maps/mp_maps/fx_mp_vent_heat_distort" );
|
||||
level._effect[ "fx_mp_vent_steam_sm" ] = loadfx( "maps/mp_maps/fx_mp_vent_steam_sm" );
|
||||
level._effect[ "fx_water_shower_dribble_splsh" ] = loadfx( "water/fx_water_shower_dribble_splsh" );
|
||||
level._effect[ "fx_water_shower_dribble" ] = loadfx( "water/fx_water_shower_dribble" );
|
||||
level._effect[ "fx_light_beacon_red_blink_fst_sm" ] = loadfx( "light/fx_light_beacon_red_blink_fst_sm" );
|
||||
level._effect[ "fx_light_flour_glow_v_shape_cool" ] = loadfx( "light/fx_light_flour_glow_v_shape_cool" );
|
||||
level._effect[ "fx_light_flour_glow_v_shape_cool_sm" ] = loadfx( "light/fx_light_flour_glow_v_shape_cool_sm" );
|
||||
level._effect[ "fx_light_recessed_cool_sm" ] = loadfx( "light/fx_light_recessed_cool_sm" );
|
||||
level._effect[ "fx_light_recessed_cool_sm_soft" ] = loadfx( "light/fx_light_recessed_cool_sm_soft" );
|
||||
level._effect[ "fx_lf_mp_hijacked_sun1" ] = loadfx( "lens_flares/fx_lf_mp_hijacked_sun1" );
|
||||
level._effect[ "fx_paper_interior_short" ] = loadfx( "debris/fx_paper_interior_short" );
|
||||
level._effect[ "fx_mp_fog_thin_sm" ] = loadfx( "maps/mp_maps/fx_mp_fog_thin_sm" );
|
||||
level._effect[ "fx_mp_fog_thin_xsm" ] = loadfx( "maps/mp_maps/fx_mp_fog_thin_xsm" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "dryer" ] = %fxanim_gp_dryer_loop_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_01" ] = %fxanim_gp_seagull_circle_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_02" ] = %fxanim_gp_seagull_circle_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_03" ] = %fxanim_gp_seagull_circle_03_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "umbrella_01" ] = %fxanim_gp_umbrella_01_anim;
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_hijacked_fx::main();
|
||||
maps/mp/createart/mp_hijacked_art::main();
|
||||
}
|
42
Multiplayer Maps/mp_hydro/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_hydro/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
114
Multiplayer Maps/mp_hydro/maps/mp/_events.gsc
Normal file
114
Multiplayer Maps/mp_hydro/maps/mp/_events.gsc
Normal file
@ -0,0 +1,114 @@
|
||||
#include maps/mp/gametypes/_globallogic_utils;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
add_timed_event( seconds, notify_string, client_notify_string )
|
||||
{
|
||||
/#
|
||||
assert( seconds >= 0 );
|
||||
#/
|
||||
if ( level.timelimit > 0 )
|
||||
{
|
||||
level thread timed_event_monitor( seconds, notify_string, client_notify_string );
|
||||
}
|
||||
}
|
||||
|
||||
timed_event_monitor( seconds, notify_string, client_notify_string )
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,5;
|
||||
if ( !isDefined( level.starttime ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
millisecs_remaining = maps/mp/gametypes/_globallogic_utils::gettimeremaining();
|
||||
seconds_remaining = millisecs_remaining / 1000;
|
||||
if ( seconds_remaining <= seconds )
|
||||
{
|
||||
event_notify( notify_string, client_notify_string );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
add_score_event( score, notify_string, client_notify_string )
|
||||
{
|
||||
/#
|
||||
assert( score >= 0 );
|
||||
#/
|
||||
if ( level.scorelimit > 0 )
|
||||
{
|
||||
if ( level.teambased )
|
||||
{
|
||||
level thread score_team_event_monitor( score, notify_string, client_notify_string );
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread score_event_monitor( score, notify_string, client_notify_string );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
any_team_reach_score( score )
|
||||
{
|
||||
_a63 = level.teams;
|
||||
_k63 = getFirstArrayKey( _a63 );
|
||||
while ( isDefined( _k63 ) )
|
||||
{
|
||||
team = _a63[ _k63 ];
|
||||
if ( game[ "teamScores" ][ team ] >= score )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
_k63 = getNextArrayKey( _a63, _k63 );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
score_team_event_monitor( score, notify_string, client_notify_string )
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,5;
|
||||
if ( any_team_reach_score( score ) )
|
||||
{
|
||||
event_notify( notify_string, client_notify_string );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
score_event_monitor( score, notify_string, client_notify_string )
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,5;
|
||||
players = get_players();
|
||||
i = 0;
|
||||
while ( i < players.size )
|
||||
{
|
||||
if ( isDefined( players[ i ].score ) && players[ i ].score >= score )
|
||||
{
|
||||
event_notify( notify_string, client_notify_string );
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
event_notify( notify_string, client_notify_string )
|
||||
{
|
||||
if ( isDefined( notify_string ) )
|
||||
{
|
||||
level notify( notify_string );
|
||||
}
|
||||
if ( isDefined( client_notify_string ) )
|
||||
{
|
||||
clientnotify( client_notify_string );
|
||||
}
|
||||
}
|
1925
Multiplayer Maps/mp_hydro/maps/mp/createfx/mp_hydro_fx.gsc
Normal file
1925
Multiplayer Maps/mp_hydro/maps/mp/createfx/mp_hydro_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
472
Multiplayer Maps/mp_hydro/maps/mp/mp_hydro.gsc
Normal file
472
Multiplayer Maps/mp_hydro/maps/mp/mp_hydro.gsc
Normal file
@ -0,0 +1,472 @@
|
||||
#include maps/mp/gametypes/_gameobjects;
|
||||
#include maps/mp/gametypes/ctf;
|
||||
#include maps/mp/gametypes/_weaponobjects;
|
||||
#include maps/mp/killstreaks/_rcbomb;
|
||||
#include maps/mp/_tacticalinsertion;
|
||||
#include maps/mp/_compass;
|
||||
#include maps/mp/_events;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
precacheitem( "hydro_water_mp" );
|
||||
maps/mp/mp_hydro_fx::main();
|
||||
precachemodel( "collision_physics_256x256x10" );
|
||||
precachemodel( "collision_missile_128x128x10" );
|
||||
precachemodel( "collision_physics_64x64x64" );
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_hydro_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_hydro" );
|
||||
maps/mp/mp_hydro_amb::main();
|
||||
/#
|
||||
execdevgui( "devgui_mp_hydro" );
|
||||
#/
|
||||
registerclientfield( "world", "pre_wave", 1, 1, "int" );
|
||||
registerclientfield( "world", "big_wave", 1, 1, "int" );
|
||||
setdvar( "compassmaxrange", "2300" );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
spawncollision( "collision_physics_256x256x10", "collider", ( 3695, 340, 84 ), ( 0, 44,8, -90 ) );
|
||||
spawncollision( "collision_physics_256x256x10", "collider", ( 3449, 82, 84 ), ( 0, 44,8, -90 ) );
|
||||
spawncollision( "collision_physics_64x64x64", "collider", ( 577,5, -1835, 309,5 ), ( 0, 0, 1 ) );
|
||||
spawncollision( "collision_physics_64x64x64", "collider", ( 577,5, -1786,5, 339,5 ), ( 0, 0, 1 ) );
|
||||
spawncollision( "collision_physics_64x64x64", "collider", ( -641,5, -1834,5, 309,5 ), ( 0, 0, 1 ) );
|
||||
spawncollision( "collision_physics_64x64x64", "collider", ( -641,5, -1786, 339,5 ), ( 0, 0, 1 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -521,5, -2106, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -521,5, -2041, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( 471,5, -2106, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( 471,5, -2041, 325 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( 1432, -1912, 376,5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( 1516,5, -1912, 376,5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1490, -1916,5, 376,5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
spawncollision( "collision_missile_128x128x10", "collider", ( -1574,5, -1916,5, 376,5 ), vectorScale( ( 0, 0, 1 ), 90 ) );
|
||||
level.waterrushfx = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_wall" );
|
||||
level.waterambientfxmiddlefront = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_middle_front" );
|
||||
level.waterambientfxmiddleback = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_middle_back" );
|
||||
level.waterambientfxleftfront = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_right" );
|
||||
level.waterambientfxleftmiddle = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_left_mid" );
|
||||
level.waterambientfxleftback = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_left_back" );
|
||||
level.waterambientfxrightfront = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_left" );
|
||||
level.waterambientfxrightmiddle = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_right_mid" );
|
||||
level.waterambientfxrightback = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_right_back" );
|
||||
level.waterambientfxboxfront = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_box" );
|
||||
level.waterambientfxboxback = loadfx( "maps/mp_maps/fx_mp_hydro_flood_splash_box_back" );
|
||||
setdvar( "tu6_player_shallowWaterHeight", "10.5" );
|
||||
visionsetnaked( "mp_hydro", 1 );
|
||||
level thread removeobjectsondemovertime();
|
||||
set_dvar_if_unset( "scr_hydro_water_rush", 1 );
|
||||
if ( getgametypesetting( "allowMapScripting" ) )
|
||||
{
|
||||
level.overrideplayerdeathwatchtimer = ::leveloverridetime;
|
||||
initwatertriggers();
|
||||
}
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2400", reset_dvars );
|
||||
}
|
||||
|
||||
leveloverridetime( defaulttime )
|
||||
{
|
||||
if ( isDefined( self.lastattacker ) && isDefined( self.lastattacker.targetname ) && self.lastattacker.targetname == "water_kill_trigger" )
|
||||
{
|
||||
return 0,4;
|
||||
}
|
||||
return defaulttime;
|
||||
}
|
||||
|
||||
initwatertriggers()
|
||||
{
|
||||
water_kill_triggers = getentarray( "water_kill_trigger", "targetname" );
|
||||
water_mover = spawn( "script_model", ( 0, 0, 1 ) );
|
||||
water_mover setmodel( "tag_origin" );
|
||||
water_ambient_mover = spawn( "script_model", ( 0, 0, 1 ) );
|
||||
water_ambient_mover setmodel( "tag_origin" );
|
||||
water_ambient_front_pillar = spawn( "script_model", ( -31, -888, 202 ) );
|
||||
water_ambient_front_pillar setmodel( "tag_origin" );
|
||||
water_ambient_front_pillar.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_front_pillar linkto( water_ambient_mover );
|
||||
water_ambient_back_pillar = spawn( "script_model", ( -32, -1535, 202 ) );
|
||||
water_ambient_back_pillar setmodel( "tag_origin" );
|
||||
water_ambient_back_pillar.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_back_pillar linkto( water_ambient_mover );
|
||||
water_ambient_front_block = spawn( "script_model", ( -32, -331, 193 ) );
|
||||
water_ambient_front_block setmodel( "tag_origin" );
|
||||
water_ambient_front_block.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_front_block linkto( water_ambient_mover );
|
||||
water_ambient_back_block = spawn( "script_model", ( -32, -1800, 199 ) );
|
||||
water_ambient_back_block setmodel( "tag_origin" );
|
||||
water_ambient_back_block.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_back_block linkto( water_ambient_mover );
|
||||
water_ambient_back_right = spawn( "script_model", ( -467, -1975, 190 ) );
|
||||
water_ambient_back_right setmodel( "tag_origin" );
|
||||
water_ambient_back_right.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_back_right linkto( water_ambient_mover );
|
||||
water_ambient_back_left = spawn( "script_model", ( 404, -1975, 190 ) );
|
||||
water_ambient_back_left setmodel( "tag_origin" );
|
||||
water_ambient_back_left.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_back_left linkto( water_ambient_mover );
|
||||
water_ambient_middle_right = spawn( "script_model", ( -274, -1680, 185 ) );
|
||||
water_ambient_middle_right setmodel( "tag_origin" );
|
||||
water_ambient_middle_right.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_middle_right linkto( water_ambient_mover );
|
||||
water_ambient_middle_left = spawn( "script_model", ( 215, -1680, 185 ) );
|
||||
water_ambient_middle_left setmodel( "tag_origin" );
|
||||
water_ambient_middle_left.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_middle_left linkto( water_ambient_mover );
|
||||
water_ambient_front_right = spawn( "script_model", ( -333, -302, 185 ) );
|
||||
water_ambient_front_right setmodel( "tag_origin" );
|
||||
water_ambient_front_right.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_front_right linkto( water_ambient_mover );
|
||||
water_ambient_front_left = spawn( "script_model", ( 265, -302, 185 ) );
|
||||
water_ambient_front_left setmodel( "tag_origin" );
|
||||
water_ambient_front_left.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_ambient_front_left linkto( water_ambient_mover );
|
||||
water_pa_1 = spawn( "script_model", ( 1667, -1364, 684 ) );
|
||||
water_pa_1 setmodel( "tag_origin" );
|
||||
water_pa_2 = spawn( "script_model", ( -1806, -1375, 783 ) );
|
||||
water_pa_2 setmodel( "tag_origin" );
|
||||
water_pa_3 = spawn( "script_model", ( -100, -1375, 783 ) );
|
||||
water_pa_3 setmodel( "tag_origin" );
|
||||
wait 0,1;
|
||||
water_kill_triggers[ 0 ] enablelinkto();
|
||||
water_kill_triggers[ 0 ] linkto( water_mover );
|
||||
water_kill_triggers[ 1 ] enablelinkto();
|
||||
water_kill_triggers[ 1 ] linkto( water_mover );
|
||||
playfxontag( level.waterambientfxmiddlefront, water_ambient_front_pillar, "tag_origin" );
|
||||
playfxontag( level.waterambientfxmiddleback, water_ambient_back_pillar, "tag_origin" );
|
||||
playfxontag( level.waterambientfxboxfront, water_ambient_front_block, "tag_origin" );
|
||||
playfxontag( level.waterambientfxboxback, water_ambient_back_block, "tag_origin" );
|
||||
playfxontag( level.waterambientfxrightback, water_ambient_back_right, "tag_origin" );
|
||||
playfxontag( level.waterambientfxleftback, water_ambient_back_left, "tag_origin" );
|
||||
playfxontag( level.waterambientfxrightmiddle, water_ambient_middle_right, "tag_origin" );
|
||||
playfxontag( level.waterambientfxleftmiddle, water_ambient_middle_left, "tag_origin" );
|
||||
playfxontag( level.waterambientfxrightfront, water_ambient_front_right, "tag_origin" );
|
||||
playfxontag( level.waterambientfxleftfront, water_ambient_front_left, "tag_origin" );
|
||||
setdvar( "R_WaterWaveBase", 0 );
|
||||
if ( level.timelimit )
|
||||
{
|
||||
seconds = level.timelimit * 60;
|
||||
add_timed_event( int( seconds * 0,25 ), "hydro_water_rush" );
|
||||
add_timed_event( int( seconds * 0,75 ), "hydro_water_rush" );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( level.scorelimit )
|
||||
{
|
||||
add_score_event( int( level.scorelimit * 0,25 ), "hydro_water_rush" );
|
||||
add_score_event( int( level.scorelimit * 0,75 ), "hydro_water_rush" );
|
||||
}
|
||||
}
|
||||
self thread watchwatertrigger( water_mover, water_kill_triggers, water_pa_1, water_pa_2, water_pa_3, water_ambient_back_pillar, water_ambient_front_block, water_ambient_mover );
|
||||
self thread waterkilltriggerthink( water_kill_triggers );
|
||||
wait 5;
|
||||
setdvar( "R_WaterWaveBase", 0 );
|
||||
}
|
||||
|
||||
watchwatertrigger( water_mover, water_kill_triggers, water_pa_1, water_pa_2, water_pa_3, water_ambient_back, water_ambient_box, water_ambient_mover )
|
||||
{
|
||||
thread watchdevnotify();
|
||||
for ( ;; )
|
||||
{
|
||||
level waittill_any( "hydro_water_rush", "dev_water_rush" );
|
||||
setclientfield( "pre_wave", 1 );
|
||||
water_ambient_back playloopsound( "amb_train_incomming_beep" );
|
||||
water_ambient_box playloopsound( "amb_train_incoming_beep" );
|
||||
water_pa_1 playsound( "evt_pa_atten" );
|
||||
water_pa_2 playsound( "evt_pa_atten" );
|
||||
water_pa_3 playsound( "evt_pa_atten" );
|
||||
wait 2;
|
||||
water_pa_1 playsound( "evt_pa_online" );
|
||||
water_pa_2 playsound( "evt_pa_online" );
|
||||
water_pa_3 playsound( "evt_pa_online" );
|
||||
water_fx1 = spawn( "script_model", water_kill_triggers[ 0 ].origin + vectorScale( ( 0, 0, 1 ), 1000 ) );
|
||||
water_fx1 setmodel( "tag_origin" );
|
||||
water_fx1.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
water_fx2 = spawn( "script_model", water_kill_triggers[ 1 ].origin + vectorScale( ( 0, 0, 1 ), 1000 ) );
|
||||
water_fx2 setmodel( "tag_origin" );
|
||||
water_fx2.angles = vectorScale( ( 0, 0, 1 ), 90 );
|
||||
exploder( 1005 );
|
||||
wait 3;
|
||||
water_pa_1 playsound( "evt_pa_online" );
|
||||
water_pa_2 playsound( "evt_pa_online" );
|
||||
water_pa_3 playsound( "evt_pa_online" );
|
||||
wait 1;
|
||||
playfxontag( level.waterrushfx, water_fx1, "tag_origin" );
|
||||
playfxontag( level.waterrushfx, water_fx2, "tag_origin" );
|
||||
water_fx1 playloopsound( "evt_water_wave" );
|
||||
water_fx2 playloopsound( "evt_water_wave" );
|
||||
water_mover.origin = ( 0, 0, 1 );
|
||||
setclientfield( "big_wave", 1 );
|
||||
water_mover moveto( vectorScale( ( 0, 0, 1 ), 2100 ), 2,5 );
|
||||
water_ambient_mover moveto( vectorScale( ( 0, 0, 1 ), 20 ), 2,5 );
|
||||
level thread waterfxloopstarter( water_fx1, water_fx2, 5 );
|
||||
thread play_exploder();
|
||||
waterlevel = -24;
|
||||
wait 2;
|
||||
water_pa_1 playsound( "evt_pa_warn" );
|
||||
water_pa_2 playsound( "evt_pa_warn" );
|
||||
water_pa_3 playsound( "evt_pa_warn" );
|
||||
wait 3;
|
||||
water_pa_1 playsound( "evt_pa_offline" );
|
||||
water_pa_2 playsound( "evt_pa_offline" );
|
||||
water_pa_3 playsound( "evt_pa_offline" );
|
||||
wait 1;
|
||||
water_mover moveto( vectorScale( ( 0, 0, 1 ), 4100 ), 2,5 );
|
||||
water_ambient_mover moveto( ( 0, 0, 1 ), 2,5 );
|
||||
water_fx1 stoploopsound( 2 );
|
||||
water_fx2 stoploopsound( 2 );
|
||||
setclientfield( "pre_wave", 0 );
|
||||
wait 1,5;
|
||||
water_pa_1 playsound( "evt_pa_access" );
|
||||
water_pa_2 playsound( "evt_pa_access" );
|
||||
water_pa_3 playsound( "evt_pa_access" );
|
||||
wait 1;
|
||||
water_ambient_box stoploopsound( 1 );
|
||||
water_ambient_back stoploopsound( 1 );
|
||||
stop_exploder( 1005 );
|
||||
setdvar( "R_WaterWaveAmplitude", "0 0 0 0" );
|
||||
water_mover.origin = vectorScale( ( 0, 0, 1 ), 500 );
|
||||
wait 2;
|
||||
water_fx1 delete();
|
||||
water_fx2 delete();
|
||||
water_mover.origin = ( 0, 0, 1 );
|
||||
setclientfield( "big_wave", 0 );
|
||||
wait 5;
|
||||
}
|
||||
}
|
||||
|
||||
play_exploder()
|
||||
{
|
||||
wait 0,2;
|
||||
exploder( 1002 );
|
||||
wait 0,5;
|
||||
exploder( 1001 );
|
||||
}
|
||||
|
||||
watchdevnotify()
|
||||
{
|
||||
startvalue = getDvar( #"1CC516F5" );
|
||||
for ( ;; )
|
||||
{
|
||||
should_water_rush = getDvar( #"1CC516F5" );
|
||||
if ( should_water_rush != startvalue )
|
||||
{
|
||||
level notify( "dev_water_rush" );
|
||||
startvalue = should_water_rush;
|
||||
}
|
||||
wait 0,2;
|
||||
}
|
||||
}
|
||||
|
||||
waterfxloopstarter( fx1, fx2, looptime )
|
||||
{
|
||||
level thread waterfxloop( fx1, fx2 );
|
||||
}
|
||||
|
||||
waterfxloop( fx1, fx2 )
|
||||
{
|
||||
start1 = fx1.origin;
|
||||
start2 = fx2.origin;
|
||||
fx1 moveto( fx1.origin + vectorScale( ( 0, 0, 1 ), 2200 ), 2,67 );
|
||||
fx2 moveto( fx2.origin + vectorScale( ( 0, 0, 1 ), 2200 ), 2,67 );
|
||||
wait 2,67;
|
||||
fx1 moveto( fx1.origin + ( 0, 600, -1000 ), 2,5 );
|
||||
fx2 moveto( fx2.origin + ( 0, 600, -1000 ), 2,5 );
|
||||
wait 3;
|
||||
fx1.origin = start1;
|
||||
fx2.origin = start2;
|
||||
}
|
||||
|
||||
waterkilltriggerthink( triggers )
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
wait 0,1;
|
||||
entities = getdamageableentarray( triggers[ 0 ].origin, 2000 );
|
||||
_a390 = entities;
|
||||
_k390 = getFirstArrayKey( _a390 );
|
||||
while ( isDefined( _k390 ) )
|
||||
{
|
||||
entity = _a390[ _k390 ];
|
||||
triggertouched = 0;
|
||||
if ( !entity istouching( triggers[ 0 ] ) )
|
||||
{
|
||||
triggertouched = 1;
|
||||
if ( !entity istouching( triggers[ 1 ] ) )
|
||||
{
|
||||
}
|
||||
}
|
||||
else if ( isDefined( entity.model ) && entity.model == "t6_wpn_tac_insert_world" )
|
||||
{
|
||||
entity maps/mp/_tacticalinsertion::destroy_tactical_insertion();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !isalive( entity ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( isDefined( entity.targetname ) )
|
||||
{
|
||||
if ( entity.targetname == "talon" )
|
||||
{
|
||||
entity notify( "death" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "rcbomb" )
|
||||
{
|
||||
entity maps/mp/killstreaks/_rcbomb::rcbomb_force_explode();
|
||||
break;
|
||||
}
|
||||
else if ( entity.targetname == "riotshield_mp" )
|
||||
{
|
||||
entity dodamage( 1, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ( isDefined( entity.helitype ) && entity.helitype == "qrdrone" )
|
||||
{
|
||||
watcher = entity.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher( "qrdrone" );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined );
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( entity.classname == "grenade" )
|
||||
{
|
||||
if ( !isDefined( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( !isDefined( entity.owner ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if ( entity.name == "proximity_grenade_mp" )
|
||||
{
|
||||
watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( !isweaponequipment( entity.name ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher = entity.owner getwatcherforweapon( entity.name );
|
||||
if ( !isDefined( watcher ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( entity, 0, undefined, "script_mover_mp" );
|
||||
break;
|
||||
}
|
||||
else if ( entity.classname == "auto_turret" )
|
||||
{
|
||||
if ( !isDefined( entity.damagedtodeath ) || !entity.damagedtodeath )
|
||||
{
|
||||
entity domaxdamage( triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
entity dodamage( entity.health * 2, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_HIT_BY_OBJECT", 0, "hydro_water_mp" );
|
||||
}
|
||||
else
|
||||
{
|
||||
entity dodamage( entity.health * 2, triggers[ triggertouched ].origin + ( 0, 0, 1 ), triggers[ triggertouched ], triggers[ triggertouched ], 0, "MOD_CRUSH" );
|
||||
}
|
||||
if ( isplayer( entity ) )
|
||||
{
|
||||
entity playlocalsound( "mpl_splash_death" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
_k390 = getNextArrayKey( _a390, _k390 );
|
||||
}
|
||||
if ( level.gametype == "ctf" )
|
||||
{
|
||||
_a502 = level.flags;
|
||||
_k502 = getFirstArrayKey( _a502 );
|
||||
while ( isDefined( _k502 ) )
|
||||
{
|
||||
flag = _a502[ _k502 ];
|
||||
if ( flag.visuals[ 0 ] istouching( triggers[ 0 ] ) || flag.visuals[ 0 ] istouching( triggers[ 1 ] ) )
|
||||
{
|
||||
flag maps/mp/gametypes/ctf::returnflag();
|
||||
}
|
||||
_k502 = getNextArrayKey( _a502, _k502 );
|
||||
}
|
||||
}
|
||||
else if ( level.gametype == "sd" && !level.multibomb )
|
||||
{
|
||||
if ( level.sdbomb.visuals[ 0 ] istouching( triggers[ 0 ] ) || level.sdbomb.visuals[ 0 ] istouching( triggers[ 1 ] ) )
|
||||
{
|
||||
level.sdbomb maps/mp/gametypes/_gameobjects::returnhome();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getwatcherforweapon( weapname )
|
||||
{
|
||||
if ( !isDefined( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
if ( !isplayer( self ) )
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < self.weaponobjectwatcherarray.size )
|
||||
{
|
||||
if ( self.weaponobjectwatcherarray[ i ].weapon != weapname )
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
return self.weaponobjectwatcherarray[ i ];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
removeobjectsondemovertime()
|
||||
{
|
||||
while ( level.gametype == "dem" )
|
||||
{
|
||||
while ( isDefined( game[ "overtime_round" ] ) )
|
||||
{
|
||||
objects = getentarray( "delete_dem_overtime", "script_noteworthy" );
|
||||
while ( isDefined( objects ) )
|
||||
{
|
||||
i = 0;
|
||||
while ( i < objects.size )
|
||||
{
|
||||
objects[ i ] delete();
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
6
Multiplayer Maps/mp_hydro/maps/mp/mp_hydro_amb.gsc
Normal file
6
Multiplayer Maps/mp_hydro/maps/mp/mp_hydro_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
91
Multiplayer Maps/mp_hydro/maps/mp/mp_hydro_fx.gsc
Normal file
91
Multiplayer Maps/mp_hydro/maps/mp/mp_hydro_fx.gsc
Normal file
@ -0,0 +1,91 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_hydro_fx::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_mp_hydro_dam_water_bottom" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_bottom" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_top" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_top" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_top_side" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_top_side" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_top_side_b" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_top_side_b" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_top_b" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_top_b" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_spray" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_spray" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_drip_splash" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_drip_splash" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_strip" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_strip" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_strip2" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_strip2" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_corner" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_corner" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_corner2" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_corner2" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_wall" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_wall" );
|
||||
level._effect[ "fx_mp_hydro_dam_river_top" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_river_top" );
|
||||
level._effect[ "fx_mp_hydro_dam_river_top_b" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_river_top_b" );
|
||||
level._effect[ "fx_mp_hydro_dam_river_flat" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_river_flat" );
|
||||
level._effect[ "fx_mp_hydro_dam_river_flat2" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_river_flat2" );
|
||||
level._effect[ "fx_mp_hydro_flood_blast01_spill" ] = loadfx( "maps/mp_maps/fx_mp_hydro_flood_blast01_spill" );
|
||||
level._effect[ "fx_mp_hydro_flood_blast01" ] = loadfx( "maps/mp_maps/fx_mp_hydro_flood_blast01" );
|
||||
level._effect[ "fx_mp_hydro_flood_blast02" ] = loadfx( "maps/mp_maps/fx_mp_hydro_flood_blast02" );
|
||||
level._effect[ "fx_mp_hydro_flood_water_spill" ] = loadfx( "maps/mp_maps/fx_mp_hydro_flood_water_spill" );
|
||||
level._effect[ "fx_mp_hydro_flood_mist_tail" ] = loadfx( "maps/mp_maps/fx_mp_hydro_flood_mist_tail" );
|
||||
level._effect[ "fx_mp_hydro_flood_blast_end" ] = loadfx( "maps/mp_maps/fx_mp_hydro_flood_blast_end" );
|
||||
level._effect[ "fx_mp_hydro_hatch_spray" ] = loadfx( "maps/mp_maps/fx_mp_hydro_hatch_spray" );
|
||||
level._effect[ "fx_mp_hydro_splash_edge" ] = loadfx( "maps/mp_maps/fx_mp_hydro_splash_edge" );
|
||||
level._effect[ "fx_mp_hydro_water_pipe" ] = loadfx( "maps/mp_maps/fx_mp_hydro_water_pipe" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_vista" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_vista" );
|
||||
level._effect[ "fx_mp_hydro_dam_water_top_vista" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_water_top_vista" );
|
||||
level._effect[ "fx_mp_hydro_dam_steam" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_steam" );
|
||||
level._effect[ "fx_mp_hydro_dam_steam2" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_steam2" );
|
||||
level._effect[ "fx_mp_hydro_dam_steam2_green" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_steam2_green" );
|
||||
level._effect[ "fx_mp_hydro_dam_steam3" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_steam3" );
|
||||
level._effect[ "fx_mp_hydro_dam_steam_big" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_steam_big" );
|
||||
level._effect[ "fx_mp_hydro_dam_steam_big2" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_steam_big2" );
|
||||
level._effect[ "fx_mp_hydro_dam_steam_xlrg" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_steam_xlrg" );
|
||||
level._effect[ "fx_mp_hydro_dam_steam_vista" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_steam_vista" );
|
||||
level._effect[ "fx_mp_vent_heat_distort" ] = loadfx( "maps/mp_maps/fx_mp_vent_heat_distort" );
|
||||
level._effect[ "fx_fog_street_sm_area_low" ] = loadfx( "fog/fx_fog_street_sm_area_low" );
|
||||
level._effect[ "fx_mp_hydro_hvac_steam" ] = loadfx( "maps/mp_maps/fx_mp_hydro_hvac_steam" );
|
||||
level._effect[ "fx_mp_hydro_steam_behind_glass1" ] = loadfx( "maps/mp_maps/fx_mp_hydro_steam_behind_glass1" );
|
||||
level._effect[ "fx_mp_hydro_steam_behind_glass2" ] = loadfx( "maps/mp_maps/fx_mp_hydro_steam_behind_glass2" );
|
||||
level._effect[ "fx_mp_hydro_light_warning" ] = loadfx( "maps/mp_maps/fx_mp_hydro_light_warning" );
|
||||
level._effect[ "fx_mp_hydro_light_warning_blnk" ] = loadfx( "maps/mp_maps/fx_mp_hydro_light_warning_blnk" );
|
||||
level._effect[ "fx_mp_hydro_light_warning_sm" ] = loadfx( "maps/mp_maps/fx_mp_hydro_light_warning_sm" );
|
||||
level._effect[ "fx_mp_hydro_light_warning_blnk_sm" ] = loadfx( "maps/mp_maps/fx_mp_hydro_light_warning_blnk_sm" );
|
||||
level._effect[ "fx_drone_light_yellow" ] = loadfx( "light/fx_drone_light_yellow" );
|
||||
level._effect[ "fx_drone_red_blink" ] = loadfx( "light/fx_drone_red_blink" );
|
||||
level._effect[ "fx_mp_hydro_dam_tunnel_glare" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_tunnel_glare" );
|
||||
level._effect[ "fx_mp_hydro_dam_tunnel_glare_green" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_tunnel_glare_green" );
|
||||
level._effect[ "fx_mp_hydro_dam_tunnel_glare_green2" ] = loadfx( "maps/mp_maps/fx_mp_hydro_dam_tunnel_glare_green2" );
|
||||
level._effect[ "fx_light_god_ray_mp_hydro" ] = loadfx( "env/light/fx_light_god_ray_mp_hydro" );
|
||||
level._effect[ "fx_light_god_ray_mp_hydro_sm" ] = loadfx( "env/light/fx_light_god_ray_mp_hydro_sm" );
|
||||
level._effect[ "fx_village_tube_light" ] = loadfx( "light/fx_village_tube_light" );
|
||||
level._effect[ "fx_hydro_tube_light" ] = loadfx( "light/fx_hydro_tube_light" );
|
||||
level._effect[ "fx_mp_fan_light_shaft_anim" ] = loadfx( "light/fx_mp_fan_light_shaft_anim" );
|
||||
level._effect[ "fx_mp_light_dust_motes_md" ] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
||||
level._effect[ "fx_mp_carrier_spark_bounce_runner" ] = loadfx( "maps/mp_maps/fx_mp_carrier_spark_bounce_runner" );
|
||||
level._effect[ "fx_lf_mp_hydro_sun1" ] = loadfx( "lens_flares/fx_lf_mp_hydro_sun1" );
|
||||
level._effect[ "fx_mp_hydro_killstreak_spillway_1" ] = loadfx( "maps/mp_maps/fx_mp_hydro_killstreak_spillway_1" );
|
||||
level._effect[ "fx_mp_hydro_killstreak_spillway_2" ] = loadfx( "maps/mp_maps/fx_mp_hydro_killstreak_spillway_2" );
|
||||
level._effect[ "fx_mp_hydro_killstreak_spillway_mid" ] = loadfx( "maps/mp_maps/fx_mp_hydro_killstreak_spillway_mid" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "wirespark_med" ] = %fxanim_gp_wirespark_med_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "wires_long" ] = %fxanim_mp_hydro_wires_long_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "wires_med" ] = %fxanim_mp_hydro_wires_med_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_01" ] = %fxanim_gp_seagull_circle_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_02" ] = %fxanim_gp_seagull_circle_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "seagull_circle_03" ] = %fxanim_gp_seagull_circle_03_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "wires_med_02" ] = %fxanim_mp_hydro_wires_med_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "wires_long_02" ] = %fxanim_mp_hydro_wires_long_02_anim;
|
||||
}
|
42
Multiplayer Maps/mp_la/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_la/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
41
Multiplayer Maps/mp_la/maps/mp/createart/mp_la_art.gsc
Normal file
41
Multiplayer Maps/mp_la/maps/mp/createart/mp_la_art.gsc
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
main()
|
||||
{
|
||||
level.tweakfile = 1;
|
||||
setdvar( "scr_fog_exp_halfplane", "3759.28" );
|
||||
setdvar( "scr_fog_exp_halfheight", "243.735" );
|
||||
setdvar( "scr_fog_nearplane", "601.593" );
|
||||
setdvar( "scr_fog_red", "0.806694" );
|
||||
setdvar( "scr_fog_green", "0.962521" );
|
||||
setdvar( "scr_fog_blue", "0.9624" );
|
||||
setdvar( "scr_fog_baseheight", "-475.268" );
|
||||
setdvar( "visionstore_glowTweakEnable", "0" );
|
||||
setdvar( "visionstore_glowTweakRadius0", "5" );
|
||||
setdvar( "visionstore_glowTweakRadius1", "" );
|
||||
setdvar( "visionstore_glowTweakBloomCutoff", "0.5" );
|
||||
setdvar( "visionstore_glowTweakBloomDesaturation", "0" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity0", "1" );
|
||||
setdvar( "visionstore_glowTweakBloomIntensity1", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity0", "" );
|
||||
setdvar( "visionstore_glowTweakSkyBleedIntensity1", "" );
|
||||
start_dist = 740,262;
|
||||
half_dist = 4113,21;
|
||||
half_height = 1651,45;
|
||||
base_height = -80,5565;
|
||||
fog_r = 0,372549;
|
||||
fog_g = 0,454902;
|
||||
fog_b = 0,447059;
|
||||
fog_scale = 7,39106;
|
||||
sun_col_r = 1;
|
||||
sun_col_g = 0,686275;
|
||||
sun_col_b = 0,337255;
|
||||
sun_dir_x = -0,196011;
|
||||
sun_dir_y = 0,785122;
|
||||
sun_dir_z = 0,587506;
|
||||
sun_start_ang = 0;
|
||||
sun_stop_ang = 61,3208;
|
||||
time = 0;
|
||||
max_fog_opacity = 1;
|
||||
setvolfog( start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale, sun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, sun_stop_ang, time, max_fog_opacity );
|
||||
visionsetnaked( "mp_la", 0 );
|
||||
}
|
1939
Multiplayer Maps/mp_la/maps/mp/createfx/mp_la_fx.gsc
Normal file
1939
Multiplayer Maps/mp_la/maps/mp/createfx/mp_la_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
72
Multiplayer Maps/mp_la/maps/mp/mp_la.gsc
Normal file
72
Multiplayer Maps/mp_la/maps/mp/mp_la.gsc
Normal file
@ -0,0 +1,72 @@
|
||||
#include maps/mp/_compass;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
maps/mp/mp_la_fx::main();
|
||||
if ( gamemodeismode( level.gamemode_wager_match ) )
|
||||
{
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_la_wager" );
|
||||
}
|
||||
else
|
||||
{
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_la" );
|
||||
}
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_la_amb::main();
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" );
|
||||
registerclientfield( "scriptmover", "ambulance_lights", 1, 1, "int" );
|
||||
level thread destructible_lights();
|
||||
level.remotemotarviewleft = 45;
|
||||
level.remotemotarviewright = 45;
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
|
||||
}
|
||||
|
||||
destructible_lights()
|
||||
{
|
||||
wait 0,05;
|
||||
destructibles = getentarray( "destructible", "targetname" );
|
||||
_a66 = destructibles;
|
||||
_k66 = getFirstArrayKey( _a66 );
|
||||
while ( isDefined( _k66 ) )
|
||||
{
|
||||
destructible = _a66[ _k66 ];
|
||||
if ( destructible.destructibledef == "veh_t6_police_car_destructible_mp" )
|
||||
{
|
||||
destructible thread destructible_think( "police_car_lights" );
|
||||
destructible setclientfield( "police_car_lights", 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( destructible.destructibledef == "veh_iw_civ_ambulance_destructible" )
|
||||
{
|
||||
destructible thread destructible_think( "ambulance_lights" );
|
||||
destructible setclientfield( "ambulance_lights", 1 );
|
||||
}
|
||||
}
|
||||
_k66 = getNextArrayKey( _a66, _k66 );
|
||||
}
|
||||
}
|
||||
|
||||
destructible_think( clientfield )
|
||||
{
|
||||
self waittill_any( "death", "destructible_base_piece_death" );
|
||||
self setclientfield( clientfield, 0 );
|
||||
}
|
16
Multiplayer Maps/mp_la/maps/mp/mp_la_amb.gsc
Normal file
16
Multiplayer Maps/mp_la/maps/mp/mp_la_amb.gsc
Normal file
@ -0,0 +1,16 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
#include common_scripts/utility;
|
||||
|
||||
main()
|
||||
{
|
||||
array_thread( getentarray( "advertisement", "targetname" ), ::advertisements );
|
||||
}
|
||||
|
||||
advertisements()
|
||||
{
|
||||
self playloopsound( "amb_" + self.script_noteworthy + "_ad" );
|
||||
self waittill( "damage" );
|
||||
self stoploopsound();
|
||||
self playloopsound( "amb_" + self.script_noteworthy + "_damaged_ad" );
|
||||
}
|
92
Multiplayer Maps/mp_la/maps/mp/mp_la_fx.gsc
Normal file
92
Multiplayer Maps/mp_la/maps/mp/mp_la_fx.gsc
Normal file
@ -0,0 +1,92 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
|
||||
precache_util_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect[ "fx_light_police_car" ] = loadfx( "maps/mp_maps/fx_mp_light_police_car" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_water_fire_sprinkler" ] = loadfx( "water/fx_water_fire_sprinkler" );
|
||||
level._effect[ "fx_water_fire_sprinkler_splash" ] = loadfx( "water/fx_water_fire_sprinkler_splash" );
|
||||
level._effect[ "fx_water_fire_sprinkler_sputter" ] = loadfx( "water/fx_water_fire_sprinkler_sputter" );
|
||||
level._effect[ "fx_water_fire_sprinkler_gush" ] = loadfx( "water/fx_water_fire_sprinkler_gush" );
|
||||
level._effect[ "fx_water_fire_sprinkler_gush_splash" ] = loadfx( "water/fx_water_fire_sprinkler_gush_splash" );
|
||||
level._effect[ "fx_water_fountian_pool_md" ] = loadfx( "water/fx_water_fountain_pool_md" );
|
||||
level._effect[ "fx_mp_water_splash_mist_fountain" ] = loadfx( "maps/mp_maps/fx_mp_water_splash_mist_fountain" );
|
||||
level._effect[ "fx_mp_water_drip_light_long" ] = loadfx( "maps/mp_maps/fx_mp_water_drip_light_long" );
|
||||
level._effect[ "fx_mp_water_drip_light_shrt" ] = loadfx( "maps/mp_maps/fx_mp_water_drip_light_shrt" );
|
||||
level._effect[ "fx_insects_swarm_md_light" ] = loadfx( "bio/insects/fx_insects_swarm_md_light" );
|
||||
level._effect[ "fx_insects_swarm_lg_light" ] = loadfx( "bio/insects/fx_insects_swarm_lg_light" );
|
||||
level._effect[ "fx_mp_debris_papers" ] = loadfx( "maps/mp_maps/fx_mp_debris_papers" );
|
||||
level._effect[ "fx_mp_debris_papers_narrow" ] = loadfx( "maps/mp_maps/fx_mp_debris_papers_narrow" );
|
||||
level._effect[ "fx_paper_interior_short" ] = loadfx( "debris/fx_paper_interior_short" );
|
||||
level._effect[ "fx_paper_burning_fall_slow" ] = loadfx( "debris/fx_paper_burning_fall_slow" );
|
||||
level._effect[ "fx_mp_light_dust_motes_md" ] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
||||
level._effect[ "fx_dust_crumble_lg" ] = loadfx( "dirt/fx_dust_crumble_lg_runner" );
|
||||
level._effect[ "fx_mp_fire_md" ] = loadfx( "maps/mp_maps/fx_mp_fire_md" );
|
||||
level._effect[ "fx_fire_bldg_ext_dist_falling_debris" ] = loadfx( "fire/fx_fire_bldg_ext_dist_falling_debris" );
|
||||
level._effect[ "fx_fire_lg" ] = loadfx( "env/fire/fx_fire_lg" );
|
||||
level._effect[ "fx_fire_sm" ] = loadfx( "env/fire/fx_fire_sm" );
|
||||
level._effect[ "fx_fire_bldg_int_dist_xlg" ] = loadfx( "fire/fx_fire_bldg_int_dist_xlg" );
|
||||
level._effect[ "fx_mp_fire_ash_falling_lg" ] = loadfx( "maps/mp_maps/fx_mp_fire_ash_falling_lg" );
|
||||
level._effect[ "fx_mp_fire_ash_falling_door" ] = loadfx( "maps/mp_maps/fx_mp_fire_ash_falling_door" );
|
||||
level._effect[ "fx_mp_ash_falling_lg" ] = loadfx( "maps/mp_maps/fx_mp_ash_falling_lg" );
|
||||
level._effect[ "fx_mp_smk_haze_linger_xlg" ] = loadfx( "maps/mp_maps/fx_mp_smk_haze_linger_xlg" );
|
||||
level._effect[ "fx_mp_smk_plume_detail_blk" ] = loadfx( "maps/mp_maps/fx_mp_smk_plume_detail_blk" );
|
||||
level._effect[ "fx_mp_smk_plume_md_blk" ] = loadfx( "maps/mp_maps/fx_mp_smk_plume_md_blk" );
|
||||
level._effect[ "fx_mp_smk_plume_lg_blk" ] = loadfx( "maps/mp_maps/fx_mp_smk_plume_lg_blk" );
|
||||
level._effect[ "fx_mp_smk_smolder_rubble_area" ] = loadfx( "maps/mp_maps/fx_mp_smk_smolder_rubble_area" );
|
||||
level._effect[ "fx_mp_smk_smolder_rubble_line" ] = loadfx( "maps/mp_maps/fx_mp_smk_smolder_rubble_line" );
|
||||
level._effect[ "fx_mp_smk_smolder_rubble_line_sm" ] = loadfx( "maps/mp_maps/fx_mp_smk_smolder_rubble_line_sm" );
|
||||
level._effect[ "fx_mp_smk_plume_lg_blk_distant" ] = loadfx( "maps/mp_maps/fx_mp_smk_plume_lg_blk_distant" );
|
||||
level._effect[ "fx_mp_smk_plume_md_blk_distant" ] = loadfx( "maps/mp_maps/fx_mp_smk_plume_md_blk_distant" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_xsm_thin" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_xsm_thin" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_sm_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_sm_runner" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_xsm_thin_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_md_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_md_runner" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_lg_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_lg_runner" );
|
||||
level._effect[ "fx_light_emrgncy_floodlight" ] = loadfx( "light/fx_light_emrgncy_floodlight" );
|
||||
level._effect[ "fx_light_recessed_wrm" ] = loadfx( "light/fx_light_recessed_wrm" );
|
||||
level._effect[ "fx_light_ambulance_red" ] = loadfx( "env/light/fx_light_ambulance_red" );
|
||||
level._effect[ "fx_mp_light_flare_la" ] = loadfx( "maps/mp_maps/fx_mp_light_flare_la" );
|
||||
level._effect[ "fx_light_flourescent_glow_cool" ] = loadfx( "light/fx_light_flourescent_glow_cool" );
|
||||
level._effect[ "fx_light_gray_white_ribbon_sm" ] = loadfx( "light/fx_light_gray_white_ribbon_sm" );
|
||||
level._effect[ "fx_mp_light_police_car" ] = loadfx( "maps/mp_maps/fx_mp_light_police_car" );
|
||||
level._effect[ "fx_mp_light_ambulance" ] = loadfx( "maps/mp_maps/fx_mp_light_ambulance" );
|
||||
level._effect[ "fx_mp_light_firetruck" ] = loadfx( "maps/mp_maps/fx_mp_light_firetruck" );
|
||||
level._effect[ "fx_light_flourescent_ceiling_panel" ] = loadfx( "light/fx_light_flourescent_ceiling_panel" );
|
||||
level._effect[ "fx_light_pent_lamp_desk" ] = loadfx( "light/fx_light_pent_lamp_desk" );
|
||||
level._effect[ "fx_light_outdoor_wall" ] = loadfx( "light/fx_light_outdoor_wall" );
|
||||
level._effect[ "fx_light_recessed_cool" ] = loadfx( "light/fx_light_recessed_cool" );
|
||||
level._effect[ "fx_light_garage_parking_green" ] = loadfx( "light/fx_light_garage_parking_green" );
|
||||
level._effect[ "fx_light_garage_parking_red" ] = loadfx( "light/fx_light_garage_parking_red" );
|
||||
level._effect[ "fx_lf_mp_la_sun1" ] = loadfx( "lens_flares/fx_lf_mp_la_sun1" );
|
||||
level._effect[ "fx_dest_fire_hydrant_burst" ] = loadfx( "maps/mp_maps/fx_mp_fire_hydrant_burst" );
|
||||
level._effect[ "fx_rain_splash_area_100_hvy_lp" ] = loadfx( "weather/fx_rain_splash_area_100_hvy_lp" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "clearance_pipe" ] = %fxanim_gp_garage_clearance_pipe_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "elevator_doors" ] = %fxanim_mp_la_elevator_doors_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "sparking_wires_med" ] = %fxanim_gp_wirespark_med_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "sparking_wires_long" ] = %fxanim_gp_wirespark_long_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "hanging_wires" ] = %fxanim_mp_la_hanging_wires_anim;
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
precache_util_fx();
|
||||
precache_createfx_fx();
|
||||
precache_scripted_fx();
|
||||
precache_fxanim_props();
|
||||
maps/mp/createfx/mp_la_fx::main();
|
||||
maps/mp/createart/mp_la_art::main();
|
||||
}
|
42
Multiplayer Maps/mp_magma/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_magma/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self setmodel( "german_shepherd" );
|
||||
self.voice = "american";
|
||||
self.skeleton = "base";
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
precachemodel( "german_shepherd" );
|
||||
}
|
2515
Multiplayer Maps/mp_magma/maps/mp/createfx/mp_magma_fx.gsc
Normal file
2515
Multiplayer Maps/mp_magma/maps/mp/createfx/mp_magma_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
283
Multiplayer Maps/mp_magma/maps/mp/mp_magma.gsc
Normal file
283
Multiplayer Maps/mp_magma/maps/mp/mp_magma.gsc
Normal file
@ -0,0 +1,283 @@
|
||||
#include maps/mp/gametypes/_weaponobjects;
|
||||
#include maps/mp/gametypes/_spawning;
|
||||
#include maps/mp/_compass;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
level.levelspawndvars = ::levelspawndvars;
|
||||
level.overrideplayerdeathwatchtimer = ::leveloverridetime;
|
||||
level thread spawnkilltrigger();
|
||||
maps/mp/mp_magma_fx::main();
|
||||
precachemodel( "collision_clip_64x64x10" );
|
||||
precachemodel( "collision_physics_64x64x10" );
|
||||
precachemodel( "collision_physics_256x256x10" );
|
||||
precachemodel( "collision_physics_128x128x10" );
|
||||
precachemodel( "collision_physics_64x64x10" );
|
||||
precachemodel( "p6_mag_k_rail_barrier" );
|
||||
precachemodel( "p6_mag_rocks_medium_02" );
|
||||
maps/mp/_load::main();
|
||||
maps/mp/mp_magma_amb::main();
|
||||
maps/mp/_compass::setupminimap( "compass_map_mp_magma" );
|
||||
setdvar( "compassmaxrange", "2100" );
|
||||
game[ "strings" ][ "war_callsign_a" ] = &"MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings" ][ "war_callsign_b" ] = &"MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings" ][ "war_callsign_c" ] = &"MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings" ][ "war_callsign_d" ] = &"MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings" ][ "war_callsign_e" ] = &"MPUI_CALLSIGN_MAPNAME_E";
|
||||
game[ "strings_menu" ][ "war_callsign_a" ] = "@MPUI_CALLSIGN_MAPNAME_A";
|
||||
game[ "strings_menu" ][ "war_callsign_b" ] = "@MPUI_CALLSIGN_MAPNAME_B";
|
||||
game[ "strings_menu" ][ "war_callsign_c" ] = "@MPUI_CALLSIGN_MAPNAME_C";
|
||||
game[ "strings_menu" ][ "war_callsign_d" ] = "@MPUI_CALLSIGN_MAPNAME_D";
|
||||
game[ "strings_menu" ][ "war_callsign_e" ] = "@MPUI_CALLSIGN_MAPNAME_E";
|
||||
barrier1 = spawn( "script_model", ( 235,49, 907,91, -395,97 ) );
|
||||
barrier1.angles = ( 2,96968, 263,594, -1,33952 );
|
||||
barrier2 = spawn( "script_model", ( 245,37, 837,028, -401,885 ) );
|
||||
barrier2.angles = ( 6,5989, 268,994, -0,115603 );
|
||||
barrier1 setmodel( "p6_mag_k_rail_barrier" );
|
||||
barrier2 setmodel( "p6_mag_k_rail_barrier" );
|
||||
rock1 = spawn( "script_model", ( 271,92, 893,99, -494 ) );
|
||||
rock1.angles = vectorScale( ( 1, 0, 0 ), 132 );
|
||||
rock2 = spawn( "script_model", ( 393,42, 895,49, -494 ) );
|
||||
rock2.angles = vectorScale( ( 1, 0, 0 ), 132 );
|
||||
rock3 = spawn( "script_model", ( 477,92, 882,49, -509 ) );
|
||||
rock3.angles = vectorScale( ( 1, 0, 0 ), 132 );
|
||||
rock1 setmodel( "p6_mag_rocks_medium_02" );
|
||||
rock2 setmodel( "p6_mag_rocks_medium_02" );
|
||||
rock3 setmodel( "p6_mag_rocks_medium_02" );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 234, 907, -391,5 ), ( 356,785, 83,5728, -83,5116 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 243,5, 835,5, -399 ), ( 353,903, 88,8464, -83,1852 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 254, 902,5, -395 ), ( 0,42985, 353,514, 3,77564 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 264, 835,5, -401,5 ), ( 0,0466956, 359,602, 6,69984 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 247,5, 831,5, -363 ), ( 353,903, 88,8464, -83,1852 ) );
|
||||
spawncollision( "collision_clip_64x64x10", "collider", ( 237,5, 904,5, -357,5 ), ( 356,785, 83,5728, -83,5116 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( 234, 907, -391,5 ), ( 356,785, 83,5728, -83,5116 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( 243,5, 835,5, -399 ), ( 353,903, 88,8464, -83,1852 ) );
|
||||
spawncollision( "collision_physics_256x256x10", "collider", ( -459, 357,5, -578,5 ), ( 270, 183,902, 86,0983 ) );
|
||||
spawncollision( "collision_physics_128x128x10", "collider", ( -267, 233,5, -514 ), vectorScale( ( 1, 0, 0 ), 270 ) );
|
||||
spawncollision( "collision_physics_128x128x10", "collider", ( -669,5, 216, -514 ), vectorScale( ( 1, 0, 0 ), 270 ) );
|
||||
spawncollision( "collision_physics_64x64x10", "collider", ( -748, 95, -483,5 ), ( 270, 270,2, 1,43 ) );
|
||||
level.levelkillbrushes = [];
|
||||
maps/mp/gametypes/_spawning::level_use_unified_spawning( 1 );
|
||||
level.remotemotarviewup = 20;
|
||||
registerclientfield( "scriptmover", "police_car_lights", 1, 1, "int" );
|
||||
precacheitem( "lava_mp" );
|
||||
level thread destructible_lights();
|
||||
level.overrideweaponfunc = ::overrideweaponfunc;
|
||||
level.deleteonkillbrushoverride = ::deleteonkillbrushoverride;
|
||||
level thread lava_trigger_init();
|
||||
level.onplayerkilledextraunthreadedcbs[ level.onplayerkilledextraunthreadedcbs.size ] = ::checkcorpseinlava;
|
||||
}
|
||||
|
||||
lava_trigger_init()
|
||||
{
|
||||
wait 3;
|
||||
killbrushes = getentarray( "trigger_hurt", "classname" );
|
||||
i = 0;
|
||||
while ( i < killbrushes.size )
|
||||
{
|
||||
if ( isDefined( killbrushes[ i ].script_noteworthy ) && killbrushes[ i ].script_noteworthy == "lava" )
|
||||
{
|
||||
level.levelkillbrushes[ level.levelkillbrushes.size ] = killbrushes[ i ];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
levelspawndvars( reset_dvars )
|
||||
{
|
||||
ss = level.spawnsystem;
|
||||
ss.enemy_influencer_radius = set_dvar_float_if_unset( "scr_spawn_enemy_influencer_radius", "2600", reset_dvars );
|
||||
}
|
||||
|
||||
overrideweaponfunc( sweapon, script_noteworthy )
|
||||
{
|
||||
if ( isDefined( script_noteworthy ) && script_noteworthy == "lava" )
|
||||
{
|
||||
sweapon = "lava_mp";
|
||||
}
|
||||
return sweapon;
|
||||
}
|
||||
|
||||
destructible_lights()
|
||||
{
|
||||
wait 0,05;
|
||||
destructibles = getentarray( "destructible", "targetname" );
|
||||
_a150 = destructibles;
|
||||
_k150 = getFirstArrayKey( _a150 );
|
||||
while ( isDefined( _k150 ) )
|
||||
{
|
||||
destructible = _a150[ _k150 ];
|
||||
if ( destructible.destructibledef == "veh_t6_dlc_police_car_jp_destructible" )
|
||||
{
|
||||
destructible thread destructible_think( "police_car_lights" );
|
||||
destructible setclientfield( "police_car_lights", 1 );
|
||||
}
|
||||
_k150 = getNextArrayKey( _a150, _k150 );
|
||||
}
|
||||
}
|
||||
|
||||
destructible_think( clientfield )
|
||||
{
|
||||
self waittill_any( "death", "destructible_base_piece_death" );
|
||||
self setclientfield( clientfield, 0 );
|
||||
}
|
||||
|
||||
checkcorpseinlava( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
|
||||
{
|
||||
if ( !isDefined( einflictor ) || !isDefined( einflictor.script_noteworthy ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
if ( einflictor.script_noteworthy != "lava" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
if ( !isDefined( self.body ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
playfxontag( level._effect[ "fx_fire_torso" ], self.body, "J_Spine4" );
|
||||
playfxontag( level._effect[ "fx_fire_arm_left" ], self.body, "J_Elbow_LE" );
|
||||
playfxontag( level._effect[ "fx_fire_arm_right" ], self.body, "J_Elbow_RI" );
|
||||
playfxontag( level._effect[ "fx_fire_leg_left" ], self.body, "J_Hip_LE" );
|
||||
playfxontag( level._effect[ "fx_fire_leg_right" ], self.body, "J_Hip_RI" );
|
||||
}
|
||||
|
||||
leveloverridetime( defaulttime )
|
||||
{
|
||||
if ( self isinlava() )
|
||||
{
|
||||
return getdvarfloatdefault( "scr_lavaPlayerDeathWatchTime", 0,5 );
|
||||
}
|
||||
return defaulttime;
|
||||
}
|
||||
|
||||
isinlava()
|
||||
{
|
||||
if ( !isDefined( self.lastattacker ) || !isDefined( self.lastattacker.script_noteworthy ) )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if ( self.lastattacker.script_noteworthy != "lava" )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
testkillbrushonstationary( lavaarray, killbrusharray, player, watcher )
|
||||
{
|
||||
player endon( "disconnect" );
|
||||
self endon( "death" );
|
||||
self waittill( "stationary" );
|
||||
wait 0,1;
|
||||
i = 0;
|
||||
while ( i < lavaarray.size )
|
||||
{
|
||||
if ( self istouching( lavaarray[ i ] ) )
|
||||
{
|
||||
playfx( level._effect[ "fx_fire_torso" ], self.origin );
|
||||
watcher maps/mp/gametypes/_weaponobjects::waitanddetonate( self, 0, undefined, "lava_mp" );
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < killbrusharray.size )
|
||||
{
|
||||
if ( self istouching( killbrusharray[ i ] ) )
|
||||
{
|
||||
if ( self.origin[ 2 ] > player.origin[ 2 ] )
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( self ) )
|
||||
{
|
||||
self delete();
|
||||
}
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
deleteonkillbrushoverride( player, watcher )
|
||||
{
|
||||
player endon( "disconnect" );
|
||||
self endon( "death" );
|
||||
self endon( "stationary" );
|
||||
trigger_hurtarray = getentarray( "trigger_hurt", "classname" );
|
||||
lavaarray = [];
|
||||
killbrusharray = [];
|
||||
i = 0;
|
||||
while ( i < trigger_hurtarray.size )
|
||||
{
|
||||
if ( isDefined( trigger_hurtarray[ i ].script_noteworthy ) && trigger_hurtarray[ i ].script_noteworthy == "lava" )
|
||||
{
|
||||
lavaarray[ lavaarray.size ] = trigger_hurtarray[ i ];
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
killbrusharray[ killbrusharray.size ] = trigger_hurtarray[ i ];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if ( lavaarray.size < 1 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
self thread testkillbrushonstationary( lavaarray, killbrusharray, player, watcher );
|
||||
while ( 1 )
|
||||
{
|
||||
i = 0;
|
||||
while ( i < lavaarray.size )
|
||||
{
|
||||
if ( self istouching( lavaarray[ i ] ) )
|
||||
{
|
||||
wait 0,05;
|
||||
playfx( level._effect[ "fx_fire_torso" ], self.origin );
|
||||
watcher maps/mp/gametypes/_weaponobjects::waitanddetonate( self, 0, undefined, "lava_mp" );
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < killbrusharray.size )
|
||||
{
|
||||
if ( self istouching( killbrusharray[ i ] ) )
|
||||
{
|
||||
if ( self.origin[ 2 ] > player.origin[ 2 ] )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( self ) )
|
||||
{
|
||||
self delete();
|
||||
}
|
||||
return;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
wait 0,1;
|
||||
}
|
||||
}
|
||||
|
||||
spawnkilltrigger()
|
||||
{
|
||||
trigger = spawn( "trigger_radius", ( 2132, -1692, -708 ), 0, 250, 100 );
|
||||
while ( 1 )
|
||||
{
|
||||
trigger waittill( "trigger", player );
|
||||
player dodamage( player.health * 2, trigger.origin, trigger, trigger, "none", "MOD_SUICIDE", 0, "lava_mp" );
|
||||
}
|
||||
}
|
6
Multiplayer Maps/mp_magma/maps/mp/mp_magma_amb.gsc
Normal file
6
Multiplayer Maps/mp_magma/maps/mp/mp_magma_amb.gsc
Normal file
@ -0,0 +1,6 @@
|
||||
#include maps/mp/_ambientpackage;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
main()
|
||||
{
|
||||
}
|
103
Multiplayer Maps/mp_magma/maps/mp/mp_magma_fx.gsc
Normal file
103
Multiplayer Maps/mp_magma/maps/mp/mp_magma_fx.gsc
Normal file
@ -0,0 +1,103 @@
|
||||
#include maps/mp/_utility;
|
||||
|
||||
#using_animtree( "fxanim_props" );
|
||||
#using_animtree( "fxanim_props_dlc" );
|
||||
|
||||
main()
|
||||
{
|
||||
precache_fxanim_props();
|
||||
precache_fxanim_props_dlc();
|
||||
precache_scripted_fx();
|
||||
precache_createfx_fx();
|
||||
maps/mp/createfx/mp_magma_fx::main();
|
||||
}
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
level._effect[ "fx_mp_magma_ash_ember_lg" ] = loadfx( "maps/mp_maps/fx_mp_magma_ash_ember_lg" );
|
||||
level._effect[ "fx_mp_magma_ash_ember_detail" ] = loadfx( "maps/mp_maps/fx_mp_magma_ash_ember_detail" );
|
||||
level._effect[ "fx_mp_magma_ash_ember_door" ] = loadfx( "maps/mp_maps/fx_mp_magma_ash_ember_door" );
|
||||
level._effect[ "fx_mp_magma_ash_int" ] = loadfx( "maps/mp_maps/fx_mp_magma_ash_int" );
|
||||
level._effect[ "fx_mp_magma_ash_ground" ] = loadfx( "maps/mp_maps/fx_mp_magma_ash_ground" );
|
||||
level._effect[ "fx_mp_magma_lava_edge_fire_100" ] = loadfx( "maps/mp_maps/fx_mp_magma_lava_edge_fire_100" );
|
||||
level._effect[ "fx_mp_magma_lava_edge_fire_200_dist" ] = loadfx( "maps/mp_maps/fx_mp_magma_lava_edge_fire_200_dist" );
|
||||
level._effect[ "fx_mp_magma_lava_edge_fire_50" ] = loadfx( "maps/mp_maps/fx_mp_magma_lava_edge_fire_50" );
|
||||
level._effect[ "fx_mp_magma_ball_falling_sky" ] = loadfx( "maps/mp_maps/fx_mp_magma_ball_falling_sky" );
|
||||
level._effect[ "fx_mp_magma_ball_falling_sky_wall" ] = loadfx( "maps/mp_maps/fx_mp_magma_ball_falling_sky_wall" );
|
||||
level._effect[ "fx_mp_magma_ball_falling_tunnel" ] = loadfx( "maps/mp_maps/fx_mp_magma_ball_falling_tunnel" );
|
||||
level._effect[ "fx_mp_magma_ball_falling_vista" ] = loadfx( "maps/mp_maps/fx_mp_magma_ball_falling_vista" );
|
||||
level._effect[ "fx_mp_magma_splat_wall_fire" ] = loadfx( "maps/mp_maps/fx_mp_magma_splat_wall_fire" );
|
||||
level._effect[ "fx_mp_magma_splat_grnd_fire" ] = loadfx( "maps/mp_maps/fx_mp_magma_splat_grnd_fire" );
|
||||
level._effect[ "fx_mp_magma_volcano_smoke" ] = loadfx( "maps/mp_maps/fx_mp_magma_volcano_smoke" );
|
||||
level._effect[ "fx_mp_magma_volcano_erupt" ] = loadfx( "maps/mp_maps/fx_mp_magma_volcano_erupt" );
|
||||
level._effect[ "fx_mp_magma_distort_geo_lg" ] = loadfx( "maps/mp_maps/fx_mp_magma_distort_geo_lg" );
|
||||
level._effect[ "fx_mp_magma_distort_geo_md" ] = loadfx( "maps/mp_maps/fx_mp_magma_distort_geo_md" );
|
||||
level._effect[ "fx_mp_magma_distort_geo_sm" ] = loadfx( "maps/mp_maps/fx_mp_magma_distort_geo_sm" );
|
||||
level._effect[ "fx_mp_magma_fire_med" ] = loadfx( "maps/mp_maps/fx_mp_magma_fire_med" );
|
||||
level._effect[ "fx_mp_magma_fire_lg" ] = loadfx( "maps/mp_maps/fx_mp_magma_fire_lg" );
|
||||
level._effect[ "fx_mp_magma_fire_xlg" ] = loadfx( "maps/mp_maps/fx_mp_magma_fire_xlg" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_xsm_thin" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_xsm_thin" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_xsm_thin_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_xsm_thin_runner" );
|
||||
level._effect[ "fx_mp_elec_spark_burst_md_runner" ] = loadfx( "maps/mp_maps/fx_mp_elec_spark_burst_md_runner" );
|
||||
level._effect[ "fx_mp_magma_smk_whisp" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_whisp" );
|
||||
level._effect[ "fx_mp_magma_smk_smolder" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_smolder" );
|
||||
level._effect[ "fx_mp_magma_smk_smolder_med" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_smolder_med" );
|
||||
level._effect[ "fx_mp_magma_smk_smolder_low" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_smolder_low" );
|
||||
level._effect[ "fx_mp_magma_smk_plume_md_vista" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_plume_md_vista" );
|
||||
level._effect[ "fx_mp_magma_smk_smolder_vista" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_smolder_vista" );
|
||||
level._effect[ "fx_mp_magma_smk_smolder_vista_lt" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_smolder_vista_lt" );
|
||||
level._effect[ "fx_mp_magma_steam_ocean" ] = loadfx( "maps/mp_maps/fx_mp_magma_steam_ocean" );
|
||||
level._effect[ "fx_mp_magma_steam_ocean_cool" ] = loadfx( "maps/mp_maps/fx_mp_magma_steam_ocean_cool" );
|
||||
level._effect[ "fx_mp_magma_steam_ocean_md" ] = loadfx( "maps/mp_maps/fx_mp_magma_steam_ocean_md" );
|
||||
level._effect[ "fx_mp_magma_smk_steam_vista" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_steam_vista" );
|
||||
level._effect[ "fx_mp_magma_steam_fish" ] = loadfx( "maps/mp_maps/fx_mp_magma_steam_fish" );
|
||||
level._effect[ "fx_mp_magma_steam_vent_w" ] = loadfx( "maps/mp_maps/fx_mp_magma_steam_vent_w" );
|
||||
level._effect[ "fx_mp_magma_steam_vent_int" ] = loadfx( "maps/mp_maps/fx_mp_magma_steam_vent_int" );
|
||||
level._effect[ "fx_mp_magma_smk_volcano_sm" ] = loadfx( "maps/mp_maps/fx_mp_magma_smk_volcano_sm" );
|
||||
level._effect[ "fx_lf_mp_magma_sun1" ] = loadfx( "lens_flares/fx_lf_mp_magma_sun1" );
|
||||
level._effect[ "fx_lf_mp_magma_volcano" ] = loadfx( "lens_flares/fx_lf_mp_magma_volcano" );
|
||||
level._effect[ "fx_mp_distant_cloud_vista_lg" ] = loadfx( "maps/mp_maps/fx_mp_magma_volcano_fog" );
|
||||
level._effect[ "fx_drone_light_yellow" ] = loadfx( "light/fx_drone_light_yellow" );
|
||||
level._effect[ "fx_light_mag_ceiling_light" ] = loadfx( "light/fx_light_mag_ceiling_light" );
|
||||
level._effect[ "fx_light_recessed_cool_sm_soft" ] = loadfx( "light/fx_light_recessed_cool_sm_soft" );
|
||||
level._effect[ "fx_light_streetlight_glow_cool" ] = loadfx( "light/fx_light_streetlight_glow_cool" );
|
||||
level._effect[ "fx_mp_light_police_car_japan" ] = loadfx( "maps/mp_maps/fx_mp_light_police_car_japan" );
|
||||
level._effect[ "fx_light_stair_blue" ] = loadfx( "light/fx_light_stair_blue" );
|
||||
level._effect[ "fx_mp_magma_light_bench_blue" ] = loadfx( "maps/mp_maps/fx_mp_magma_light_bench_blue" );
|
||||
level._effect[ "fx_light_recessed_purple" ] = loadfx( "light/fx_light_recessed_purple" );
|
||||
level._effect[ "fx_mp_magma_light_recessed_flat" ] = loadfx( "maps/mp_maps/fx_mp_magma_light_recessed_flat" );
|
||||
level._effect[ "fx_light_flour_glow_v_shape_cool" ] = loadfx( "light/fx_light_flour_glow_v_shape_cool" );
|
||||
level._effect[ "fx_mp_magma_vending_machine_lg" ] = loadfx( "maps/mp_maps/fx_mp_magma_vending_machine_lg" );
|
||||
level._effect[ "fx_mp_magma_vending_machine_med" ] = loadfx( "maps/mp_maps/fx_mp_magma_vending_machine_med" );
|
||||
level._effect[ "fx_mp_magma_toilet_sign" ] = loadfx( "maps/mp_maps/fx_mp_magma_toilet_sign" );
|
||||
level._effect[ "fx_mp_magma_track_light" ] = loadfx( "maps/mp_maps/fx_mp_magma_track_light" );
|
||||
level._effect[ "fx_fire_torso" ] = loadfx( "fire/fx_fire_ai_torso_magma" );
|
||||
level._effect[ "fx_fire_arm_left" ] = loadfx( "fire/fx_fire_ai_arm_left_magma" );
|
||||
level._effect[ "fx_fire_arm_right" ] = loadfx( "fire/fx_fire_ai_arm_right_magma" );
|
||||
level._effect[ "fx_fire_leg_left" ] = loadfx( "fire/fx_fire_ai_leg_left_magma" );
|
||||
level._effect[ "fx_fire_leg_right" ] = loadfx( "fire/fx_fire_ai_leg_right_magma" );
|
||||
}
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props" ][ "sparking_wires_med" ] = %fxanim_gp_wirespark_med_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "sparking_wires_long" ] = %fxanim_gp_wirespark_long_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "japan_sign_square" ] = %fxanim_mp_magma_japan_sign_square_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "squid_sign_eyes_01" ] = %fxanim_mp_magma_squid_sign_eyes_01_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "squid_sign_eyes_02" ] = %fxanim_mp_magma_squid_sign_eyes_02_anim;
|
||||
level.scr_anim[ "fxanim_props" ][ "japan_sign_fish" ] = %fxanim_mp_magma_japan_sign_fish_anim;
|
||||
}
|
||||
|
||||
precache_fxanim_props_dlc()
|
||||
{
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "hanging_lantern_01" ] = %fxanim_mp_magma_hanging_lantern_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "hanging_lantern_02" ] = %fxanim_mp_magma_hanging_lantern_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "train_wire_01" ] = %fxanim_mp_magma_train_wire_01_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "train_wire_02" ] = %fxanim_mp_magma_train_wire_02_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "train_wire_03" ] = %fxanim_mp_magma_train_wire_03_anim;
|
||||
level.scr_anim[ "fxanim_props_dlc" ][ "sushi_conveyor" ] = %fxanim_mp_magma_sushi_conveyor_anim;
|
||||
}
|
42
Multiplayer Maps/mp_meltdown/aitype/enemy_dog_mp.gsc
Normal file
42
Multiplayer Maps/mp_meltdown/aitype/enemy_dog_mp.gsc
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
main()
|
||||
{
|
||||
self.accuracy = 1;
|
||||
self.animstatedef = "";
|
||||
self.animtree = "dog.atr";
|
||||
self.csvinclude = "";
|
||||
self.demolockonhighlightdistance = 100;
|
||||
self.demolockonviewheightoffset1 = 8;
|
||||
self.demolockonviewheightoffset2 = 8;
|
||||
self.demolockonviewpitchmax1 = 60;
|
||||
self.demolockonviewpitchmax2 = 60;
|
||||
self.demolockonviewpitchmin1 = 0;
|
||||
self.demolockonviewpitchmin2 = 0;
|
||||
self.footstepfxtable = "";
|
||||
self.footstepprepend = "";
|
||||
self.footstepscriptcallback = 0;
|
||||
self.grenadeammo = 0;
|
||||
self.grenadeweapon = "";
|
||||
self.health = 200;
|
||||
self.precachescript = "";
|
||||
self.secondaryweapon = "";
|
||||
self.sidearm = "";
|
||||
self.subclass = "regular";
|
||||
self.team = "axis";
|
||||
self.type = "dog";
|
||||
self.weapon = "";
|
||||
self setengagementmindist( 0, 0 );
|
||||
self setengagementmaxdist( 100, 300 );
|
||||
character/character_mp_german_shepherd::main();
|
||||
self setcharacterindex( 0 );
|
||||
}
|
||||
|
||||
spawner()
|
||||
{
|
||||
self setspawnerteam( "axis" );
|
||||
}
|
||||
|
||||
precache( ai_index )
|
||||
{
|
||||
character/character_mp_german_shepherd::precache();
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user