mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-10 18:57:58 -05:00
281 lines
12 KiB
Plaintext
281 lines
12 KiB
Plaintext
#include maps/mp/zombies/_zm_ffotd;
|
|
#include maps/mp/zombies/_zm_zonemgr;
|
|
#include maps/mp/zombies/_zm_utility;
|
|
#include common_scripts/utility;
|
|
#include maps/mp/_utility;
|
|
|
|
main_start()
|
|
{
|
|
level thread spawned_collision_fix();
|
|
level thread kill_trigger_spawn();
|
|
}
|
|
|
|
main_end()
|
|
{
|
|
connect_zones_for_ffotd( "zone_orange_level3a", "zone_orange_level3b", 0 );
|
|
connect_zones_for_ffotd( "zone_orange_elevator_shaft_middle_1", "zone_orange_elevator_shaft_top", 1 );
|
|
level thread pathfinding_override_fix();
|
|
}
|
|
|
|
spawned_collision_fix()
|
|
{
|
|
precachemodel( "collision_geo_512x512x512_standard" );
|
|
precachemodel( "collision_geo_32x32x128_standard" );
|
|
precachemodel( "collision_geo_64x64x256_standard" );
|
|
precachemodel( "collision_wall_128x128x10_standard" );
|
|
precachemodel( "collision_wall_256x256x10_standard" );
|
|
flag_wait( "start_zombie_round_logic" );
|
|
if ( !is_true( level.optimise_for_splitscreen ) )
|
|
{
|
|
collision1 = spawn( "script_model", ( 2992, 536, 497 ) );
|
|
collision1 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision1.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision1 ghost();
|
|
collision2 = spawn( "script_model", ( 2824, 632, 497 ) );
|
|
collision2 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision2.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision2 ghost();
|
|
collision3 = spawn( "script_model", ( 2992, 536, -15 ) );
|
|
collision3 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision3.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision3 ghost();
|
|
collision4 = spawn( "script_model", ( 2824, 632, -15 ) );
|
|
collision4 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision4.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision4 ghost();
|
|
collision5 = spawn( "script_model", ( 2992, 536, -527 ) );
|
|
collision5 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision5.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision5 ghost();
|
|
collision6 = spawn( "script_model", ( 2824, 632, -527 ) );
|
|
collision6 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision6.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision6 ghost();
|
|
collision7 = spawn( "script_model", ( 2992, 536, -1039 ) );
|
|
collision7 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision7.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision7 ghost();
|
|
collision8 = spawn( "script_model", ( 2824, 632, -1039 ) );
|
|
collision8 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision8.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision8 ghost();
|
|
collision9 = spawn( "script_model", ( 2992, 536, -1551 ) );
|
|
collision9 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision9.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision9 ghost();
|
|
collision10 = spawn( "script_model", ( 2824, 632, -1551 ) );
|
|
collision10 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision10.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision10 ghost();
|
|
collision11 = spawn( "script_model", ( 2992, 536, -2063 ) );
|
|
collision11 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision11.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision11 ghost();
|
|
collision12 = spawn( "script_model", ( 2824, 632, -2063 ) );
|
|
collision12 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision12.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision12 ghost();
|
|
collisione1 = spawn( "script_model", ( 1649, 2164, 2843 ) );
|
|
collisione1 setmodel( "collision_wall_256x256x10_standard" );
|
|
collisione1.angles = ( 0, 0, 0 );
|
|
collisione1 ghost();
|
|
collisione2 = spawn( "script_model", ( 1649, 2164, 2587 ) );
|
|
collisione2 setmodel( "collision_wall_256x256x10_standard" );
|
|
collisione2.angles = ( 0, 0, 0 );
|
|
collisione2 ghost();
|
|
collisione3 = spawn( "script_model", ( 1478, 1216, 2843 ) );
|
|
collisione3 setmodel( "collision_wall_256x256x10_standard" );
|
|
collisione3.angles = vectorScale( ( 0, 0, 0 ), 270 );
|
|
collisione3 ghost();
|
|
collisione4 = spawn( "script_model", ( 1478, 1216, 2587 ) );
|
|
collisione4 setmodel( "collision_wall_256x256x10_standard" );
|
|
collisione4.angles = vectorScale( ( 0, 0, 0 ), 270 );
|
|
collisione4 ghost();
|
|
collisione5 = spawn( "script_model", ( 1478, 1216, 2331 ) );
|
|
collisione5 setmodel( "collision_wall_256x256x10_standard" );
|
|
collisione5.angles = vectorScale( ( 0, 0, 0 ), 270 );
|
|
collisione5 ghost();
|
|
collisione6 = spawn( "script_model", ( 1478, 1216, 2242 ) );
|
|
collisione6 setmodel( "collision_wall_256x256x10_standard" );
|
|
collisione6.angles = vectorScale( ( 0, 0, 0 ), 270 );
|
|
collisione6 ghost();
|
|
collision13 = spawn( "script_model", ( 2251, 2687, 3095 ) );
|
|
collision13 setmodel( "collision_wall_128x128x10_standard" );
|
|
collision13.angles = vectorScale( ( 0, 0, 0 ), 270 );
|
|
collision13 ghost();
|
|
collision14 = spawn( "script_model", ( 2046, 1270, 2758 ) );
|
|
collision14 setmodel( "collision_geo_512x512x512_standard" );
|
|
collision14.angles = vectorScale( ( 0, 0, 0 ), 6,20013 );
|
|
collision14 ghost();
|
|
collision15 = spawn( "script_model", ( 2518, 597, 3191 ) );
|
|
collision15 setmodel( "collision_wall_128x128x10_standard" );
|
|
collision15.angles = ( 0, 240,4, -3,00014 );
|
|
collision15 ghost();
|
|
collision16 = spawn( "script_model", ( 2613, -721, 1184 ) );
|
|
collision16 setmodel( "collision_wall_128x128x10_standard" );
|
|
collision16.angles = ( 0, 60, -2,60003 );
|
|
collision16 ghost();
|
|
collision17 = spawn( "script_model", ( 2721, -533, 1184 ) );
|
|
collision17 setmodel( "collision_wall_128x128x10_standard" );
|
|
collision17.angles = ( 0, 60, -2,60003 );
|
|
collision17 ghost();
|
|
collision18 = spawn( "script_model", ( 2940, 1512, 3004 ) );
|
|
collision18 setmodel( "collision_geo_64x64x256_standard" );
|
|
collision18.angles = vectorScale( ( 0, 0, 0 ), 350 );
|
|
collision18 ghost();
|
|
collision19 = spawn( "script_model", ( 1631, -235, 2943 ) );
|
|
collision19 setmodel( "collision_geo_32x32x128_standard" );
|
|
collision19.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision19 ghost();
|
|
collision20 = spawn( "script_model", ( 2232, -579, 1354 ) );
|
|
collision20 setmodel( "collision_wall_128x128x10_standard" );
|
|
collision20.angles = vectorScale( ( 0, 0, 0 ), 330 );
|
|
collision20 ghost();
|
|
collision21 = spawn( "script_model", ( 2349, 805, 1346 ) );
|
|
collision21 setmodel( "collision_geo_32x32x128_standard" );
|
|
collision21.angles = vectorScale( ( 0, 0, 0 ), 8,6 );
|
|
collision21 ghost();
|
|
collision22 = spawn( "script_model", ( 2791, 1093, 1272 ) );
|
|
collision22 setmodel( "collision_geo_32x32x128_standard" );
|
|
collision22.angles = vectorScale( ( 0, 0, 0 ), 3,2 );
|
|
collision22 ghost();
|
|
collision23 = spawn( "script_model", ( 2222, 1488, 3280 ) );
|
|
collision23 setmodel( "collision_geo_32x32x128_standard" );
|
|
collision23.angles = ( 0, 0, 0 );
|
|
collision23 ghost();
|
|
collision24 = spawn( "script_model", ( 2222, 1488, 3312 ) );
|
|
collision24 setmodel( "collision_geo_32x32x128_standard" );
|
|
collision24.angles = ( 0, 0, 0 );
|
|
collision24 ghost();
|
|
}
|
|
}
|
|
|
|
connect_zones_for_ffotd( zone_name_a, zone_name_b, one_way )
|
|
{
|
|
if ( !isDefined( one_way ) )
|
|
{
|
|
one_way = 0;
|
|
}
|
|
zone_init( zone_name_a );
|
|
zone_init( zone_name_b );
|
|
enable_zone( zone_name_a );
|
|
enable_zone( zone_name_b );
|
|
if ( !isDefined( level.zones[ zone_name_a ].adjacent_zones[ zone_name_b ] ) )
|
|
{
|
|
level.zones[ zone_name_a ].adjacent_zones[ zone_name_b ] = spawnstruct();
|
|
}
|
|
level.zones[ zone_name_a ].adjacent_zones[ zone_name_b ].is_connected = 1;
|
|
if ( !one_way )
|
|
{
|
|
if ( !isDefined( level.zones[ zone_name_b ].adjacent_zones[ zone_name_a ] ) )
|
|
{
|
|
level.zones[ zone_name_b ].adjacent_zones[ zone_name_a ] = spawnstruct();
|
|
}
|
|
level.zones[ zone_name_b ].adjacent_zones[ zone_name_a ].is_connected = 1;
|
|
}
|
|
}
|
|
|
|
kill_trigger_spawn()
|
|
{
|
|
trig = spawn( "trigger_box", ( 3328, 160, 1480 ), 0, 96, 200, 128 );
|
|
trig.angles = vectorScale( ( 0, 0, 0 ), 150 );
|
|
trig.targetname = "instant_death";
|
|
trig2 = spawn( "trigger_box", ( 2512, 1824, 1488 ), 0, 140, 140, 128 );
|
|
trig2.angles = ( 0, 0, 0 );
|
|
trig2.targetname = "instant_death";
|
|
}
|
|
|
|
pathfinding_override_fix()
|
|
{
|
|
zombie_trigger_origin = ( 2303, 746, 1296 );
|
|
zombie_trigger_radius = 30;
|
|
zombie_trigger_height = 128;
|
|
player_trigger_origin = ( 2357, 778, 1304 );
|
|
player_trigger_radius = 40;
|
|
zombie_goto_point = ( 2361, 738, 1304 );
|
|
level thread maps/mp/zombies/_zm_ffotd::path_exploit_fix( zombie_trigger_origin, zombie_trigger_radius, zombie_trigger_height, player_trigger_origin, player_trigger_radius, zombie_goto_point );
|
|
zombie_trigger_origin = ( 3767, 1867, 2790 );
|
|
zombie_trigger_radius = 64;
|
|
zombie_trigger_height = 128;
|
|
player_trigger_origin = ( 3684, 1772, 2758 );
|
|
player_trigger_radius = 70;
|
|
zombie_goto_point = ( 3659, 1872, 2790 );
|
|
level thread maps/mp/zombies/_zm_ffotd::path_exploit_fix( zombie_trigger_origin, zombie_trigger_radius, zombie_trigger_height, player_trigger_origin, player_trigger_radius, zombie_goto_point );
|
|
zombie_trigger_origin = ( 3245, 1251, 1347,79 );
|
|
zombie_trigger_radius = 64;
|
|
zombie_trigger_height = 128;
|
|
player_trigger_origin = ( 3246, 1126, 1347,79 );
|
|
player_trigger_radius = 64;
|
|
zombie_goto_point = ( 3031, 1234, 1278,12 );
|
|
level thread maps/mp/zombies/_zm_ffotd::path_exploit_fix( zombie_trigger_origin, zombie_trigger_radius, zombie_trigger_height, player_trigger_origin, player_trigger_radius, zombie_goto_point );
|
|
zombie_trigger_origin = ( 3246, 1113, 1347,79 );
|
|
zombie_trigger_radius = 64;
|
|
zombie_trigger_height = 128;
|
|
player_trigger_origin = ( 3245, 1230, 1347,79 );
|
|
player_trigger_radius = 44;
|
|
zombie_goto_point = ( 3023, 1154, 1278,12 );
|
|
level thread maps/mp/zombies/_zm_ffotd::path_exploit_fix( zombie_trigger_origin, zombie_trigger_radius, zombie_trigger_height, player_trigger_origin, player_trigger_radius, zombie_goto_point );
|
|
zombie_trigger_origin = ( 3389, 1182, 1364,79 );
|
|
zombie_trigger_radius = 64;
|
|
zombie_trigger_height = 128;
|
|
player_trigger_origin = ( 3246, 1126, 1347,79 );
|
|
player_trigger_radius = 64;
|
|
zombie_goto_point = ( 3381, 1093, 1364,79 );
|
|
level thread maps/mp/zombies/_zm_ffotd::path_exploit_fix( zombie_trigger_origin, zombie_trigger_radius, zombie_trigger_height, player_trigger_origin, player_trigger_radius, zombie_goto_point );
|
|
zombie_trigger_origin = ( 3148, 1712, 1299,07 );
|
|
zombie_trigger_radius = 64;
|
|
zombie_trigger_height = 128;
|
|
player_trigger_origin = ( 3149, 1604, 1302,2 );
|
|
player_trigger_radius = 44;
|
|
zombie_goto_point = ( 3259, 1644, 1321,5 );
|
|
level thread maps/mp/zombies/_zm_ffotd::path_exploit_fix( zombie_trigger_origin, zombie_trigger_radius, zombie_trigger_height, player_trigger_origin, player_trigger_radius, zombie_goto_point );
|
|
zombie_trigger_origin = ( 3149, 1584, 1302,2 );
|
|
zombie_trigger_radius = 64;
|
|
zombie_trigger_height = 128;
|
|
player_trigger_origin = ( 3148, 1692, 1299,07 );
|
|
player_trigger_radius = 44;
|
|
zombie_goto_point = ( 3291, 1684, 1321,5 );
|
|
level thread maps/mp/zombies/_zm_ffotd::path_exploit_fix( zombie_trigger_origin, zombie_trigger_radius, zombie_trigger_height, player_trigger_origin, player_trigger_radius, zombie_goto_point );
|
|
zombie_trigger_origin = ( 3818, 1860, 2789,23 );
|
|
zombie_trigger_radius = 100;
|
|
zombie_trigger_height = 128;
|
|
player_trigger_origin = ( 3601, 1961, 2744,95 );
|
|
player_trigger_radius = 50;
|
|
zombie_goto_point = ( 3626, 1918, 2750,26 );
|
|
level thread maps/mp/zombies/_zm_ffotd::path_exploit_fix( zombie_trigger_origin, zombie_trigger_radius, zombie_trigger_height, player_trigger_origin, player_trigger_radius, zombie_goto_point );
|
|
all_nodes = getallnodes();
|
|
_a331 = all_nodes;
|
|
_k331 = getFirstArrayKey( _a331 );
|
|
while ( isDefined( _k331 ) )
|
|
{
|
|
node = _a331[ _k331 ];
|
|
if ( node.origin[ 0 ] == 3598,2 )
|
|
{
|
|
deletepathnode( node );
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
_k331 = getNextArrayKey( _a331, _k331 );
|
|
}
|
|
}
|
|
}
|
|
|
|
highrise_link_nodes( a, b )
|
|
{
|
|
if ( nodesarelinked( a, b ) )
|
|
{
|
|
return;
|
|
}
|
|
link_nodes( a, b );
|
|
}
|
|
|
|
highrise_unlink_nodes( a, b )
|
|
{
|
|
if ( !nodesarelinked( a, b ) )
|
|
{
|
|
return;
|
|
}
|
|
unlink_nodes( a, b );
|
|
}
|