1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 23:27:57 -05:00

Die Rise: Quest changes

This commit is contained in:
Jbleezy
2023-04-05 03:06:26 -07:00
parent cfa4076130
commit ea890d79fd
7 changed files with 789 additions and 1 deletions

View File

@ -526,6 +526,14 @@
* Moved weapon locker to the downstairs fridge
* Zombies no longer spawn in the Upper Blue Highrise zone when in the Trample Steam zone
* Zombies no longer spawn in the zone next to the AN94 when in the AN94 zone while the debris is closed
* Quest: elevator symbols can be activated without players on every symbol
* Quest: elevator symbols stay active after activating once
* Quest: floor symbols can be activated in any order
* Quest: Trample Steam step only requires one Trample Steam to be placed in the correct position
* Quest: tower legs can be punched in any order
* Quest (Maxis): no longer have to shoot the upgraded Ballistic Knife after collecting the corpses
* Quest (Maxis): ball no longer requires a Trample Steam on the other side
* Quest (Richtofen): decreased number of Sliquifier shots required for each ball from 20 to 10
### Mob of the Dead
* 1 afterlife max in solo

View File

@ -43,7 +43,7 @@ springpadthink( weapon, electricradius, armed )
if ( isdefined( weapon.fling_targets ) && weapon.fling_targets.size > 0 )
{
weapon notify( "fling", 1 );
weapon notify( "fling", weapon.zombies_only );
weapon.is_armed = 0;
weapon.zombies_only = 1;
@ -118,4 +118,63 @@ wait_for_targets( weapon )
wait 0.05;
}
}
#using_animtree("zombie_springpad");
springpad_animate( weapon, armed )
{
self endon( "death" );
self endon( "disconnect" );
self endon( "equip_springpad_zm_taken" );
weapon endon( "death" );
weapon useanimtree( #animtree );
f_animlength = getanimlength( %o_zombie_buildable_tramplesteam_reset_zombie );
r_animlength = getanimlength( %o_zombie_buildable_tramplesteam_reset );
l_animlength = getanimlength( %o_zombie_buildable_tramplesteam_launch );
weapon thread springpad_audio();
prearmed = 0;
if ( isdefined( armed ) && armed )
prearmed = 1;
fast_reset = 0;
while ( isdefined( weapon ) )
{
if ( !prearmed )
{
if ( fast_reset )
{
weapon setanim( %o_zombie_buildable_tramplesteam_reset_zombie );
weapon thread playspringpadresetaudio( f_animlength );
wait( f_animlength );
}
else
{
weapon setanim( %o_zombie_buildable_tramplesteam_reset );
weapon thread playspringpadresetaudio( r_animlength );
wait( r_animlength );
}
}
else
wait 0.05;
prearmed = 0;
weapon notify( "armed" );
fast_reset = 1;
if ( isdefined( weapon ) )
{
weapon setanim( %o_zombie_buildable_tramplesteam_compressed_idle );
weapon waittill( "fling", fast );
}
if ( isdefined( weapon ) )
{
weapon setanim( %o_zombie_buildable_tramplesteam_launch );
wait( l_animlength );
}
}
}

View File

@ -88,4 +88,135 @@ sidequest_logic()
update_sidequest_stats( "sq_highrise_rich_complete" );
else if ( flag( "sq_max_tower_complete" ) )
update_sidequest_stats( "sq_highrise_maxis_complete" );
}
tower_punch_watcher()
{
level thread playtoweraudio();
a_leg_trigs = [];
foreach ( str_wind in level.a_wind_order )
a_leg_trigs[a_leg_trigs.size] = "sq_tower_" + str_wind;
level.n_cur_leg = 0;
level.sq_leg_punches = 0;
foreach ( str_leg in a_leg_trigs )
{
t_leg = getent( str_leg, "script_noteworthy" );
t_leg thread tower_punch_watch_leg( a_leg_trigs );
}
flag_wait( "sq_tower_active" );
if ( flag( "sq_ric_tower_complete" ) )
{
exploder_stop( 1002 );
exploder_stop( 903 );
exploder( 1003 );
}
else
{
exploder_stop( 902 );
exploder_stop( 1003 );
exploder( 903 );
}
wait 1;
level thread tower_in_sync_lightning();
wait 1;
level thread sq_give_all_perks();
}
tower_punch_watch_leg( a_leg_trigs )
{
level.legs_hit = [];
while ( !flag( "sq_tower_active" ) )
{
self waittill( "trigger", who );
if ( !isinarray( level.legs_hit, self.script_noteworthy ) && isplayer( who ) && ( who.current_melee_weapon == "tazer_knuckles_zm" || who.current_melee_weapon == "tazer_knuckles_upgraded_zm" ) )
{
level.legs_hit[level.legs_hit.size] = self.script_noteworthy;
self playsound( "zmb_sq_leg_powerup_" + level.legs_hit.size );
if ( level.legs_hit.size == 4 )
flag_set( "sq_tower_active" );
return;
}
}
}
sq_give_all_perks()
{
vending_triggers = getentarray( "zombie_vending", "targetname" );
perks = [];
for ( i = 0; i < vending_triggers.size; i++ )
{
perk = vending_triggers[i].script_noteworthy;
if ( perk == "specialty_weapupgrade" )
continue;
perks[perks.size] = perk;
}
if ( flag( "sq_ric_tower_complete" ) )
{
v_fireball_start_loc = ( 1946, 608, 3338 );
n_fireball_exploder = 1001;
}
else
{
v_fireball_start_loc = ( 1068, -1362, 3340.5 );
n_fireball_exploder = 901;
}
players = getplayers();
foreach ( player in players )
{
player thread sq_give_player_perks( perks, v_fireball_start_loc, n_fireball_exploder );
level waittill( "sq_fireball_hit_player" );
}
}
sq_give_player_perks( perks, v_fireball_start_loc, n_fireball_exploder )
{
exploder( n_fireball_exploder );
m_fireball = spawn( "script_model", v_fireball_start_loc );
m_fireball setmodel( "tag_origin" );
playfxontag( level._effect["sidequest_dragon_fireball_max"], m_fireball, "tag_origin" );
do
{
wait_network_frame();
v_to_player = vectornormalize( self gettagorigin( "J_SpineLower" ) - m_fireball.origin );
v_move_spot = m_fireball.origin + v_to_player * 48;
m_fireball.origin = v_move_spot;
}
while ( distancesquared( m_fireball.origin, self gettagorigin( "J_SpineLower" ) ) > 2304 );
m_fireball.origin = self gettagorigin( "J_SpineLower" );
m_fireball linkto( self, "J_SpineLower" );
wait 1.5;
playfx( level._effect["sidequest_flash"], m_fireball.origin );
m_fireball delete();
level notify( "sq_fireball_hit_player" );
foreach ( perk in perks )
{
if ( isdefined( self.perk_purchased ) && self.perk_purchased == perk )
continue;
if ( self hasperk( perk ) || self maps\mp\zombies\_zm_perks::has_perk_paused( perk ) )
continue;
self maps\mp\zombies\_zm_perks::give_perk( perk, 0 );
wait 0.25;
}
}

View File

@ -0,0 +1,118 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_sidequests;
#include maps\mp\zm_highrise_sq;
#include maps\mp\zm_highrise_sq_atd;
init()
{
flag_init( "sq_atd_elevator0" );
flag_init( "sq_atd_elevator1" );
flag_init( "sq_atd_elevator2" );
flag_init( "sq_atd_elevator3" );
flag_init( "sq_atd_elevator_activated" );
flag_init( "sq_atd_drg_puzzle_1st_error" );
flag_init( "sq_atd_drg_puzzle_complete" );
declare_sidequest_stage( "sq", "atd", ::init_stage, ::stage_logic, ::exit_stage_1 );
sq_atd_dragon_icon_setup();
}
stage_logic()
{
sq_atd_elevators();
sq_atd_drg_puzzle();
stage_completed( "sq", level._cur_stage_name );
}
sq_atd_elevators()
{
a_elevators = array( "elevator_bldg1b_trigger", "elevator_bldg1d_trigger", "elevator_bldg3b_trigger", "elevator_bldg3c_trigger" );
a_elevator_flags = array( "sq_atd_elevator0", "sq_atd_elevator1", "sq_atd_elevator2", "sq_atd_elevator3" );
for ( i = 0; i < a_elevators.size; i++ )
{
trig_elevator = getent( a_elevators[i], "targetname" );
trig_elevator thread sq_atd_watch_elevator( a_elevator_flags[i] );
}
while ( !flag( "sq_atd_elevator0" ) || !flag( "sq_atd_elevator1" ) || !flag( "sq_atd_elevator2" ) || !flag( "sq_atd_elevator3" ) )
{
flag_wait_any_array( a_elevator_flags );
wait 0.5;
}
flag_set( "sq_atd_elevator_activated" );
vo_richtofen_atd_elevators();
level thread vo_maxis_atd_elevators();
}
sq_atd_watch_elevator( str_flag )
{
level endon( "sq_atd_elevator_activated" );
while ( true )
{
self waittill( "trigger", e_who );
if ( !isplayer( e_who ) )
{
wait 0.05;
continue;
}
a_dragon_icons = getentarray( "elevator_dragon_icon", "targetname" );
foreach ( m_icon in a_dragon_icons )
{
if ( issubstr( self.targetname, m_icon.script_noteworthy ) )
{
v_off_pos = m_icon.m_lit_icon.origin;
m_icon.m_lit_icon unlink();
m_icon unlink();
m_icon.m_lit_icon.origin = m_icon.origin;
m_icon.origin = v_off_pos;
m_icon.m_lit_icon linkto( m_icon.m_elevator );
m_icon linkto( m_icon.m_elevator );
m_icon playsound( "zmb_sq_symbol_light" );
break;
}
}
flag_set( str_flag );
return;
}
}
sq_atd_drg_puzzle()
{
level.sq_atd_cur_drg = 0;
a_puzzle_trigs = getentarray( "trig_atd_drg_puzzle", "targetname" );
a_puzzle_trigs = array_randomize( a_puzzle_trigs );
for ( i = 0; i < a_puzzle_trigs.size; i++ )
a_puzzle_trigs[i] thread drg_puzzle_trig_think( i );
while ( level.sq_atd_cur_drg < 4 )
wait 1;
flag_set( "sq_atd_drg_puzzle_complete" );
level thread vo_maxis_atd_order_complete();
}
drg_puzzle_trig_think( n_order_id )
{
self.drg_active = 0;
m_unlit = getent( self.target, "targetname" );
m_lit = m_unlit.lit_icon;
v_top = m_unlit.origin;
v_hidden = m_lit.origin;
self waittill( "trigger", e_who );
m_lit.origin = v_top;
m_unlit.origin = v_hidden;
m_lit playsound( "zmb_sq_symbol_light" );
self.drg_active = 1;
level thread vo_richtofen_atd_order( level.sq_atd_cur_drg );
level.sq_atd_cur_drg++;
}

View File

@ -0,0 +1,360 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_sidequests;
#include maps\mp\zm_highrise_sq;
#include maps\mp\zombies\_zm_unitrigger;
#include maps\mp\zm_highrise_sq_pts;
init_1()
{
flag_init( "pts_1_springpads_placed" );
declare_sidequest_stage( "sq_1", "pts_1", ::init_stage_1, ::stage_logic_1, ::exit_stage_1 );
}
init_2()
{
flag_init( "pts_2_springpads_placed" );
flag_init( "pts_2_generator_1_started" );
flag_init( "pts_2_generator_2_started" );
declare_sidequest_stage( "sq_2", "pts_2", ::init_stage_2, ::stage_logic_2, ::exit_stage_2 );
}
stage_logic_1()
{
watch_player_springpads( 0 );
flag_set( "pts_1_springpads_placed" );
maps\mp\zm_highrise_sq::light_dragon_fireworks( "r", 1 );
wait_for_zombies_launched();
maps\mp\zm_highrise_sq::light_dragon_fireworks( "r", 2 );
stage_completed( "sq_1", "pts_1" );
}
stage_logic_2()
{
watch_player_springpads( 1 );
level thread wait_for_balls_launched();
flag_wait( "pts_2_generator_1_started" );
maps\mp\zm_highrise_sq::light_dragon_fireworks( "m", 2 );
flag_wait( "pts_2_generator_2_started" );
maps\mp\zm_highrise_sq::light_dragon_fireworks( "m", 2 );
level thread maxis_balls_placed();
stage_completed( "sq_2", "pts_2" );
}
watch_player_springpads( is_generator )
{
level thread springpad_count_watcher( is_generator );
a_players = get_players();
foreach ( player in a_players )
player thread pts_watch_springpad_use( is_generator );
}
springpad_count_watcher( is_generator )
{
level endon( "sq_pts_springad_count4" );
str_which_spots = "pts_ghoul";
if ( is_generator )
str_which_spots = "pts_lion";
a_spots = getstructarray( str_which_spots, "targetname" );
while ( true )
{
level waittill( "sq_pts_springpad_in_place" );
n_count = 0;
foreach ( s_spot in a_spots )
{
if ( isdefined( s_spot.springpad ) )
n_count++;
}
level notify( "sq_pts_springad_count" + n_count );
}
}
pts_watch_springpad_use( is_generator )
{
self endon( "death" );
self endon( "disconnect" );
while ( !flag( "sq_branch_complete" ) )
{
self waittill( "equipment_placed", weapon, weapname );
if ( weapname == level.springpad_name )
self thread is_springpad_in_place( weapon, is_generator );
}
}
is_springpad_in_place( m_springpad, is_generator )
{
m_springpad endon( "death" );
m_springpad waittill( "armed" );
a_lion_spots = getstructarray( "pts_lion", "targetname" );
a_ghoul_spots = getstructarray( "pts_ghoul", "targetname" );
a_spots = arraycombine( a_lion_spots, a_ghoul_spots, 0, 0 );
foreach ( s_spot in a_spots )
{
n_dist = distance2dsquared( m_springpad.origin, s_spot.origin );
if ( n_dist < 1024 )
{
v_spot_forward = vectornormalize( anglestoforward( s_spot.angles ) );
v_pad_forward = vectornormalize( anglestoforward( m_springpad.angles ) );
n_dot = vectordot( v_spot_forward, v_pad_forward );
if ( n_dot > 0.98 )
{
level notify( "sq_pts_springpad_in_place" );
s_spot.springpad = m_springpad;
self thread pts_springpad_removed_watcher( m_springpad, s_spot );
if ( is_generator )
{
wait 0.1;
if ( pts_should_springpad_create_trigs( s_spot ) )
{
thread maps\mp\zombies\_zm_unitrigger::unregister_unitrigger( self.buildablespringpad.stub );
}
}
else
{
m_springpad.fling_scaler = 2;
m_springpad thread watch_zombie_flings();
}
if ( isdefined( s_spot.script_float ) )
{
s_target = getstruct( "sq_zombie_launch_target", "targetname" );
v_override_dir = vectornormalize( s_target.origin - m_springpad.origin );
v_override_dir = vectorscale( v_override_dir, 1024 );
m_springpad.direction_vec_override = v_override_dir;
m_springpad.fling_scaler = s_spot.script_float;
}
break;
}
}
}
}
wait_for_zombies_launched()
{
level thread richtofen_zombies_launched();
t_tower = getent( "pts_tower_trig", "targetname" );
s_tower_top = getstruct( "sq_zombie_launch_target", "targetname" );
while ( level.n_launched_zombies < 15 )
wait 0.5;
}
watch_zombie_flings()
{
self endon( "death" );
self endon( "disconnect" );
self endon( "equip_springpad_zm_taken" );
self endon( "equip_springpad_zm_pickup" );
while ( level.n_launched_zombies < 15 )
{
self waittill( "fling", zombies_only );
if ( zombies_only )
{
level.n_launched_zombies++;
if ( level.n_launched_zombies == 1 || level.n_launched_zombies == 5 || level.n_launched_zombies == 10 )
level notify( "pts1_say_next_line" );
}
wait 0.1;
}
}
wait_for_balls_launched()
{
level.current_generator = 1;
a_lion_spots = getstructarray( "pts_lion", "targetname" );
foreach ( s_lion_spot in a_lion_spots )
{
s_lion_spot.a_place_ball_trigs = [];
}
a_players = getplayers();
foreach ( player in a_players )
{
player.a_place_ball_trigs = [];
if ( isdefined( player.zm_sq_has_ball ) )
player thread player_set_down_ball_watcher();
}
while ( true )
{
level waittill( "zm_ball_picked_up", player );
player thread player_set_down_ball_watcher();
}
}
player_set_down_ball_watcher()
{
self waittill_any( "zm_sq_ball_putdown", "zm_sq_ball_used" );
pts_putdown_trigs_remove_for_player( self );
}
pts_should_player_create_trigs( player )
{
a_lion_spots = getstructarray( "pts_lion", "targetname" );
foreach ( s_lion_spot in a_lion_spots )
{
if ( isdefined( s_lion_spot.springpad ) && !isdefined( s_lion_spot.which_ball ) )
{
pts_putdown_trigs_create_for_spot( s_lion_spot, player );
return true;
}
}
return false;
}
pts_should_springpad_create_trigs( s_lion_spot )
{
if ( isdefined( s_lion_spot.springpad ) && !isdefined( s_lion_spot.which_ball ) )
{
a_players = getplayers();
foreach ( player in a_players )
{
if ( isdefined( player.zm_sq_has_ball ) && player.zm_sq_has_ball )
{
pts_putdown_trigs_create_for_spot( s_lion_spot, player );
return true;
}
}
}
return false;
}
pts_putdown_trigs_create_for_spot( s_lion_spot, player )
{
t_place_ball = sq_pts_create_use_trigger( s_lion_spot.origin, 16, 70, &"ZM_HIGHRISE_SQ_PUTDOWN_BALL" );
player clientclaimtrigger( t_place_ball );
t_place_ball.owner = player;
player thread place_ball_think( t_place_ball, s_lion_spot );
if ( !isdefined( s_lion_spot.pts_putdown_trigs ) )
s_lion_spot.pts_putdown_trigs = [];
s_lion_spot.pts_putdown_trigs[player.characterindex] = t_place_ball;
level thread pts_putdown_trigs_springpad_delete_watcher( player, s_lion_spot );
}
sq_pts_create_use_trigger( v_origin, radius, height, str_hint_string )
{
t_pickup = spawn( "trigger_radius_use", v_origin, 0, radius, height );
t_pickup setcursorhint( "HINT_NOICON" );
t_pickup sethintstring( str_hint_string );
t_pickup.targetname = "ball_place_trig";
t_pickup triggerignoreteam();
return t_pickup;
}
pts_putdown_trigs_springpad_delete_watcher( player, s_lion_spot )
{
player pts_springpad_waittill_removed( s_lion_spot.springpad );
pts_putdown_trigs_remove_for_spot( s_lion_spot );
}
place_ball_think( t_place_ball, s_lion_spot )
{
t_place_ball endon( "delete" );
while (1)
{
t_place_ball waittill( "trigger" );
if (!is_true( self.zm_sq_has_ball ) )
{
continue;
}
pts_putdown_trigs_remove_for_spot( s_lion_spot );
self.zm_sq_has_ball = undefined;
s_lion_spot.which_ball = self.which_ball;
self notify( "zm_sq_ball_used" );
s_lion_spot.zm_pts_animating = 1;
flag_set( "pts_2_generator_" + level.current_generator + "_started" );
s_lion_spot.which_generator = level.current_generator;
level.current_generator++;
s_lion_spot.springpad thread pts_springpad_fling( s_lion_spot.script_noteworthy );
thread maps\mp\zombies\_zm_unitrigger::register_unitrigger( self.buildablespringpad.stub );
self.t_putdown_ball delete();
}
}
#using_animtree("fxanim_props");
pts_springpad_fling( str_spot_name )
{
str_anim1 = undefined;
n_anim_length1 = undefined;
str_anim2 = undefined;
n_anim_length2 = undefined;
switch ( str_spot_name )
{
case "lion_pair_1":
str_anim1 = "dc";
str_anim2 = "cd";
break;
case "lion_pair_2":
str_anim1 = "ab";
str_anim2 = "ba";
break;
case "lion_pair_3":
str_anim1 = "cd";
str_anim2 = "dc";
break;
case "lion_pair_4":
str_anim1 = "ba";
str_anim2 = "ab";
break;
}
m_anim = spawn( "script_model", ( 2090, 675, 3542 ) );
m_anim.angles = ( 0, 0, 0 );
m_anim setmodel( "fxanim_zom_highrise_trample_gen_mod" );
m_anim useanimtree( #animtree );
m_anim.targetname = "trample_gen_" + str_spot_name;
pts_springpad_anim_ball( m_anim, str_anim1, str_anim2 );
}
pts_springpad_anim_ball( m_anim, str_anim1, str_anim2 )
{
m_anim endon( "delete" );
self endon( "delete" );
n_anim_length1 = getanimlength( level.scr_anim["fxanim_props"]["trample_gen_" + str_anim1] );
n_anim_length2 = getanimlength( level.scr_anim["fxanim_props"]["trample_gen_" + str_anim2] );
self notify( "fling", 1 );
if ( isdefined( m_anim ) )
m_anim setanim( level.scr_anim["fxanim_props"]["trample_gen_" + str_anim1] );
wait( n_anim_length1 );
}

View File

@ -0,0 +1,103 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_sidequests;
#include maps\mp\zombies\_zm_spawner;
#include maps\mp\zm_highrise_sq;
#include maps\mp\zm_highrise_sq_ssp;
ssp1_watch_ball( str_complete_flag )
{
self watch_model_sliquification( 10, str_complete_flag );
self thread ssp1_rotate_ball();
self playloopsound( "zmb_sq_ball_rotate_loop", 0.25 );
}
watch_model_sliquification( n_end_limit, str_complete_flag )
{
n_count = 0;
self setcandamage( 1 );
while ( !flag( str_complete_flag ) )
{
self waittill( "damage", amount, attacker, direction, point, mod, tagname, modelname, partname, weaponname );
if ( issubstr( weaponname, "slipgun" ) && !flag( "sq_ball_picked_up" ) )
{
n_count++;
if ( n_count >= n_end_limit )
{
self notify( "sq_sliquified" );
if ( isdefined( self.t_pickup ) )
self.t_pickup delete();
flag_set( str_complete_flag );
}
else if ( n_count == 1 )
level notify( "ssp1_ball_first_sliquified" );
else if ( n_count == 5 )
level notify( "ssp1_ball_sliquified_2" );
}
}
}
init_2()
{
flag_init( "ssp2_maxis_keep_going_said" );
flag_init( "ssp2_maxis_reincarnate_said" );
flag_init( "ssp2_corpses_in_place" );
flag_init( "ssp2_resurrection_done" );
flag_init( "ssp2_statue_complete" );
maps\mp\zombies\_zm_spawner::add_custom_zombie_spawn_logic( ::ssp_2_zombie_death_check );
declare_sidequest_stage( "sq_2", "ssp_2", ::init_stage_2, ::stage_logic_2, ::exit_stage_2 );
}
stage_logic_2()
{
level thread ssp2_advance_dragon();
corpse_room_watcher();
stage_completed( "sq_2", "ssp_2" );
}
ssp_2_zombie_death_check()
{
self waittill( "death" );
if ( !isdefined( self ) )
return;
t_corpse_room = getent( "corpse_room_trigger", "targetname" );
if ( self istouching( t_corpse_room ) )
level notify( "ssp2_corpse_made", 1 );
}
corpse_room_watcher()
{
t_corpse_room = getent( "corpse_room_trigger", "targetname" );
n_count = 0;
while ( !flag( "ssp2_resurrection_done" ) )
{
level waittill( "ssp2_corpse_made", is_in_room );
if ( is_in_room )
n_count++;
else
n_count = 0;
if ( n_count == 1 && !flag( "ssp2_maxis_keep_going_said" ) )
{
flag_set( "ssp2_maxis_keep_going_said" );
level thread maps\mp\zm_highrise_sq::maxissay( "vox_maxi_sidequest_reincar_zombie_0" );
}
else if ( n_count >= 15 )
{
flag_set( "ssp2_corpses_in_place" );
vo_maxis_ssp_complete();
flag_set( "ssp2_resurrection_done" );
}
}
}

View File

@ -10,11 +10,20 @@
#include scripts\zm\replaced\_zm_banking;
#include scripts\zm\replaced\_zm_weapon_locker;
#include scripts\zm\replaced\_zm_sq;
#include scripts\zm\replaced\_zm_sq_atd;
#include scripts\zm\replaced\_zm_sq_ssp;
#include scripts\zm\replaced\_zm_sq_pts;
main()
{
replaceFunc(maps\mp\zm_highrise_sq::navcomputer_waitfor_navcard, scripts\zm\replaced\_zm_sq::navcomputer_waitfor_navcard);
replaceFunc(maps\mp\zm_highrise_sq::init, scripts\zm\replaced\zm_highrise_sq::init);
replaceFunc(maps\mp\zm_highrise_sq_atd::init, scripts\zm\replaced\zm_highrise_sq_atd::init);
replaceFunc(maps\mp\zm_highrise_sq_ssp::ssp1_watch_ball, scripts\zm\replaced\zm_highrise_sq_ssp::ssp1_watch_ball);
replaceFunc(maps\mp\zm_highrise_sq_ssp::init_2, scripts\zm\replaced\zm_highrise_sq_ssp::init_2);
replaceFunc(maps\mp\zm_highrise_sq_pts::init_1, scripts\zm\replaced\zm_highrise_sq_pts::init_1);
replaceFunc(maps\mp\zm_highrise_sq_pts::init_2, scripts\zm\replaced\zm_highrise_sq_pts::init_2);
replaceFunc(maps\mp\zm_highrise_sq_pts::pts_should_player_create_trigs, scripts\zm\replaced\zm_highrise_sq_pts::pts_should_player_create_trigs);
replaceFunc(maps\mp\zm_highrise_gamemodes::init, scripts\zm\replaced\zm_highrise_gamemodes::init);
replaceFunc(maps\mp\zm_highrise_classic::insta_kill_player, scripts\zm\replaced\zm_highrise_classic::insta_kill_player);
replaceFunc(maps\mp\zombies\_zm_chugabud::chugabud_bleed_timeout, scripts\zm\replaced\_zm_chugabud::chugabud_bleed_timeout);