diff --git a/README.md b/README.md index 761632bf..24296f8c 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ ## Zombies * Health capped at 100,000 * Amount of zombies scales linearly with the amount of players +* Zombies that are deleted due to being too far away always respawn * Changed height to 48 on all maps (normally either 48 or 72) * Attracted towards points of interest immediately * Removed walkers in high rounds diff --git a/scripts/zm/replaced/zm_alcatraz_distance_tracking.gsc b/scripts/zm/replaced/zm_alcatraz_distance_tracking.gsc new file mode 100644 index 00000000..d0b2113a --- /dev/null +++ b/scripts/zm/replaced/zm_alcatraz_distance_tracking.gsc @@ -0,0 +1,73 @@ +#include common_scripts\utility; +#include maps\mp\_utility; +#include maps\mp\zombies\_zm_utility; +#include maps\mp\zombies\_zm_spawner; +#include maps\mp\zm_alcatraz_distance_tracking; + +delete_zombie_noone_looking( how_close, how_high ) +{ + self endon( "death" ); + + if ( !isdefined( how_close ) ) + how_close = 1500; + + if ( !isdefined( how_high ) ) + how_close = 600; + + distance_squared_check = how_close * how_close; + too_far_dist = distance_squared_check * 3; + + if ( isdefined( level.zombie_tracking_too_far_dist ) ) + too_far_dist = level.zombie_tracking_too_far_dist * level.zombie_tracking_too_far_dist; + + self.inview = 0; + self.player_close = 0; + players = get_players(); + + for ( i = 0; i < players.size; i++ ) + { + if ( players[i].sessionstate == "spectator" ) + continue; + + if ( isdefined( level.only_track_targeted_players ) ) + { + if ( !isdefined( self.favoriteenemy ) || self.favoriteenemy != players[i] ) + continue; + } + + can_be_seen = self player_can_see_me( players[i] ); + + if ( can_be_seen && distancesquared( self.origin, players[i].origin ) < too_far_dist ) + self.inview++; + + if ( distancesquared( self.origin, players[i].origin ) < distance_squared_check && abs( self.origin[2] - players[i].origin[2] ) < how_high ) + self.player_close++; + } + + wait 0.1; + + if ( self.inview == 0 && self.player_close == 0 ) + { + if ( !isdefined( self.animname ) || isdefined( self.animname ) && self.animname != "zombie" ) + return; + + if ( isdefined( self.electrified ) && self.electrified == 1 ) + return; + + if ( isdefined( self.in_the_ground ) && self.in_the_ground == 1 ) + return; + + if ( !( isdefined( self.exclude_distance_cleanup_adding_to_total ) && self.exclude_distance_cleanup_adding_to_total ) && !( isdefined( self.isscreecher ) && self.isscreecher ) ) + { + level.zombie_total++; + + if ( self.health < level.zombie_health ) + level.zombie_respawned_health[level.zombie_respawned_health.size] = self.health; + } + + self maps\mp\zombies\_zm_spawner::reset_attack_spot(); + self notify( "zombie_delete" ); + self delete(); + recalc_zombie_array(); + } +} \ No newline at end of file diff --git a/scripts/zm/replaced/zm_buried_distance_tracking.gsc b/scripts/zm/replaced/zm_buried_distance_tracking.gsc new file mode 100644 index 00000000..52d5f349 --- /dev/null +++ b/scripts/zm/replaced/zm_buried_distance_tracking.gsc @@ -0,0 +1,99 @@ +#include common_scripts\utility; +#include maps\mp\_utility; +#include maps\mp\zombies\_zm_utility; +#include maps\mp\zombies\_zm_spawner; +#include maps\mp\zombies\_zm_zonemgr; +#include maps\mp\zombies\_zm_ai_basic; +#include maps\mp\zm_buried_distance_tracking; + +delete_zombie_noone_looking( how_close, how_high ) +{ + self endon( "death" ); + + if ( self can_be_deleted_from_buried_special_zones() ) + { + self.inview = 0; + self.player_close = 0; + } + else + { + if ( !isdefined( how_close ) ) + how_close = 1000; + + if ( !isdefined( how_high ) ) + how_high = 500; + + if ( !( isdefined( self.has_legs ) && self.has_legs ) ) + how_close *= 1.5; + + distance_squared_check = how_close * how_close; + height_squared_check = how_high * how_high; + too_far_dist = distance_squared_check * 3; + + if ( isdefined( level.zombie_tracking_too_far_dist ) ) + too_far_dist = level.zombie_tracking_too_far_dist * level.zombie_tracking_too_far_dist; + + self.inview = 0; + self.player_close = 0; + players = get_players(); + + foreach ( player in players ) + { + if ( player.sessionstate == "spectator" ) + continue; + + if ( isdefined( player.laststand ) && player.laststand && ( isdefined( self.favoriteenemy ) && self.favoriteenemy == player ) ) + { + if ( !self can_zombie_see_any_player() ) + { + self.favoriteenemy = undefined; + self.zombie_path_bad = 1; + self thread escaped_zombies_cleanup(); + } + } + + if ( isdefined( level.only_track_targeted_players ) ) + { + if ( !isdefined( self.favoriteenemy ) || self.favoriteenemy != player ) + continue; + } + + can_be_seen = self player_can_see_me( player ); + distance_squared = distancesquared( self.origin, player.origin ); + + if ( can_be_seen && distance_squared < too_far_dist ) + self.inview++; + + if ( distance_squared < distance_squared_check && abs( self.origin[2] - player.origin[2] ) < how_high ) + self.player_close++; + } + } + + wait 0.1; + + if ( self.inview == 0 && self.player_close == 0 ) + { + if ( !isdefined( self.animname ) || isdefined( self.animname ) && self.animname != "zombie" ) + return; + + if ( isdefined( self.electrified ) && self.electrified == 1 ) + return; + + if ( !( isdefined( self.exclude_distance_cleanup_adding_to_total ) && self.exclude_distance_cleanup_adding_to_total ) && !( isdefined( self.isscreecher ) && self.isscreecher ) ) + { + level.zombie_total++; + + if ( self.health < level.zombie_health ) + level.zombie_respawned_health[level.zombie_respawned_health.size] = self.health; + } + + self maps\mp\zombies\_zm_spawner::reset_attack_spot(); + self notify( "zombie_delete" ); + + if ( isdefined( self.anchor ) ) + self.anchor delete(); + + self delete(); + recalc_zombie_array(); + } +} \ No newline at end of file diff --git a/scripts/zm/replaced/zm_highrise_distance_tracking.gsc b/scripts/zm/replaced/zm_highrise_distance_tracking.gsc new file mode 100644 index 00000000..4ce12d7e --- /dev/null +++ b/scripts/zm/replaced/zm_highrise_distance_tracking.gsc @@ -0,0 +1,141 @@ +#include common_scripts\utility; +#include maps\mp\_utility; +#include maps\mp\zombies\_zm_utility; +#include maps\mp\zombies\_zm_spawner; +#include maps\mp\zombies\_zm_ai_basic; +#include maps\mp\zm_highrise_distance_tracking; + +zombie_tracking_init() +{ + level.zombie_respawned_health = []; + + if ( !isdefined( level.zombie_tracking_dist ) ) + level.zombie_tracking_dist = 1000; + + if ( !isdefined( level.zombie_tracking_high ) ) + level.zombie_tracking_high = 500; + + if ( !isdefined( level.zombie_tracking_wait ) ) + level.zombie_tracking_wait = 10; + + building_trigs = getentarray( "zombie_fell_off", "targetname" ); + + if ( isdefined( building_trigs ) ) + array_thread( building_trigs, ::zombies_off_building ); + + level.distance_tracker_aggressive_distance = 500; + level.distance_tracker_aggressive_height = 200; + + while ( true ) + { + zombies = get_round_enemy_array(); + + if ( !isdefined( zombies ) || isdefined( level.ignore_distance_tracking ) && level.ignore_distance_tracking ) + { + wait( level.zombie_tracking_wait ); + continue; + } + else + { + for ( i = 0; i < zombies.size; i++ ) + { + if ( isdefined( zombies[i] ) && !( isdefined( zombies[i].ignore_distance_tracking ) && zombies[i].ignore_distance_tracking ) ) + zombies[i] thread delete_zombie_noone_looking( level.zombie_tracking_dist, level.zombie_tracking_high ); + } + } + + wait( level.zombie_tracking_wait ); + } +} + +zombies_off_building() +{ + while ( true ) + { + self waittill( "trigger", who ); + + if ( !isplayer( who ) && !( isdefined( who.is_leaper ) && who.is_leaper ) ) + { + if ( !( isdefined( who.exclude_distance_cleanup_adding_to_total ) && who.exclude_distance_cleanup_adding_to_total ) && !( isdefined( who.is_leaper ) && who.is_leaper ) ) + { + level.zombie_total++; + + if ( who.health < level.zombie_health ) + level.zombie_respawned_health[level.zombie_respawned_health.size] = who.health; + } + + who maps\mp\zombies\_zm_spawner::reset_attack_spot(); + who notify( "zombie_delete" ); + who dodamage( who.health + 666, who.origin, who ); + recalc_zombie_array(); + } + + wait 0.1; + } +} + +delete_zombie_noone_looking( how_close, how_high ) +{ + self endon( "death" ); + + if ( !isdefined( how_close ) ) + how_close = 1000; + + if ( !isdefined( how_high ) ) + how_high = 500; + + distance_squared_check = how_close * how_close; + height_squared_check = how_high * how_high; + too_far_dist = distance_squared_check * 3; + + if ( isdefined( level.zombie_tracking_too_far_dist ) ) + too_far_dist = level.zombie_tracking_too_far_dist * level.zombie_tracking_too_far_dist; + + self.inview = 0; + self.player_close = 0; + players = get_players(); + + for ( i = 0; i < players.size; i++ ) + { + if ( players[i].sessionstate == "spectator" ) + continue; + + if ( isdefined( level.only_track_targeted_players ) ) + { + if ( !isdefined( self.favoriteenemy ) || self.favoriteenemy != players[i] ) + continue; + } + + can_be_seen = self player_can_see_me( players[i] ); + + if ( can_be_seen && distancesquared( self.origin, players[i].origin ) < too_far_dist ) + self.inview++; + + if ( distancesquared( self.origin, players[i].origin ) < distance_squared_check && abs( self.origin[2] - players[i].origin[2] ) < how_high ) + self.player_close++; + } + + wait 0.1; + + if ( self.inview == 0 && self.player_close == 0 ) + { + if ( !isdefined( self.animname ) || isdefined( self.animname ) && self.animname != "zombie" ) + return; + + if ( isdefined( self.electrified ) && self.electrified == 1 ) + return; + + if ( !( isdefined( self.exclude_distance_cleanup_adding_to_total ) && self.exclude_distance_cleanup_adding_to_total ) && !( isdefined( self.isscreecher ) && self.isscreecher ) ) + { + level.zombie_total++; + + if ( self.health < level.zombie_health ) + level.zombie_respawned_health[level.zombie_respawned_health.size] = self.health; + } + + self maps\mp\zombies\_zm_spawner::reset_attack_spot(); + self notify( "zombie_delete" ); + self delete(); + recalc_zombie_array(); + } +} \ No newline at end of file diff --git a/scripts/zm/replaced/zm_tomb_distance_tracking.gsc b/scripts/zm/replaced/zm_tomb_distance_tracking.gsc new file mode 100644 index 00000000..ca1f8fd0 --- /dev/null +++ b/scripts/zm/replaced/zm_tomb_distance_tracking.gsc @@ -0,0 +1,93 @@ +#include common_scripts\utility; +#include maps\mp\_utility; +#include maps\mp\zombies\_zm_utility; +#include maps\mp\zombies\_zm_zonemgr; +#include maps\mp\zombies\_zm_spawner; +#include maps\mp\zombies\_zm_ai_basic; +#include maps\mp\zm_tomb_chamber; +#include maps\mp\zm_tomb_distance_tracking; + +delete_zombie_noone_looking( how_close, how_high ) +{ + self endon( "death" ); + + if ( !isdefined( how_close ) ) + how_close = 1500; + + if ( !isdefined( how_high ) ) + how_high = 600; + + distance_squared_check = how_close * how_close; + too_far_dist = distance_squared_check * 3; + + if ( isdefined( level.zombie_tracking_too_far_dist ) ) + too_far_dist = level.zombie_tracking_too_far_dist * level.zombie_tracking_too_far_dist; + + self.inview = 0; + self.player_close = 0; + n_distance_squared = 0; + n_height_difference = 0; + players = get_players(); + + for ( i = 0; i < players.size; i++ ) + { + if ( players[i].sessionstate == "spectator" ) + continue; + + if ( isdefined( level.only_track_targeted_players ) ) + { + if ( !isdefined( self.favoriteenemy ) || self.favoriteenemy != players[i] ) + continue; + } + + can_be_seen = self player_can_see_me( players[i] ); + + if ( can_be_seen && distancesquared( self.origin, players[i].origin ) < too_far_dist ) + self.inview++; + + n_modifier = 1.0; + + if ( isdefined( players[i].b_in_tunnels ) && players[i].b_in_tunnels ) + n_modifier = 2.25; + + n_distance_squared = distancesquared( self.origin, players[i].origin ); + n_height_difference = abs( self.origin[2] - players[i].origin[2] ); + + if ( n_distance_squared < distance_squared_check * n_modifier && n_height_difference < how_high ) + self.player_close++; + } + + if ( self.inview == 0 && self.player_close == 0 ) + { + if ( !isdefined( self.animname ) || self.animname != "zombie" && self.animname != "mechz_zombie" ) + return; + + if ( isdefined( self.electrified ) && self.electrified == 1 ) + return; + + if ( isdefined( self.in_the_ground ) && self.in_the_ground == 1 ) + return; + + if ( !( isdefined( self.exclude_distance_cleanup_adding_to_total ) && self.exclude_distance_cleanup_adding_to_total ) && !( isdefined( self.isscreecher ) && self.isscreecher ) ) + { + level.zombie_total++; + + if ( self.health < level.zombie_health ) + level.zombie_respawned_health[level.zombie_respawned_health.size] = self.health; + } + + self maps\mp\zombies\_zm_spawner::reset_attack_spot(); + self notify( "zombie_delete" ); + + if ( isdefined( self.is_mechz ) && self.is_mechz ) + { + self notify( "mechz_cleanup" ); + level.mechz_left_to_spawn++; + wait_network_frame(); + level notify( "spawn_mechz" ); + } + + self delete(); + recalc_zombie_array(); + } +} \ No newline at end of file diff --git a/scripts/zm/replaced/zm_transit_distance_tracking.gsc b/scripts/zm/replaced/zm_transit_distance_tracking.gsc new file mode 100644 index 00000000..ac09e08c --- /dev/null +++ b/scripts/zm/replaced/zm_transit_distance_tracking.gsc @@ -0,0 +1,72 @@ +#include common_scripts\utility; +#include maps\mp\_utility; +#include maps\mp\zombies\_zm_utility; +#include maps\mp\zombies\_zm_spawner; +#include maps\mp\zm_transit_distance_tracking; + +delete_zombie_noone_looking( how_close ) +{ + self endon( "death" ); + + if ( !isdefined( how_close ) ) + how_close = 1000; + + distance_squared_check = how_close * how_close; + too_far_dist = distance_squared_check * 3; + + if ( isdefined( level.zombie_tracking_too_far_dist ) ) + too_far_dist = level.zombie_tracking_too_far_dist * level.zombie_tracking_too_far_dist; + + self.inview = 0; + self.player_close = 0; + players = get_players(); + + for ( i = 0; i < players.size; i++ ) + { + if ( players[i].sessionstate == "spectator" ) + continue; + + if ( isdefined( level.only_track_targeted_players ) ) + { + if ( !isdefined( self.favoriteenemy ) || self.favoriteenemy != players[i] ) + continue; + } + + can_be_seen = self player_can_see_me( players[i] ); + + if ( can_be_seen && distancesquared( self.origin, players[i].origin ) < too_far_dist ) + self.inview++; + + if ( distancesquared( self.origin, players[i].origin ) < distance_squared_check ) + self.player_close++; + } + + wait 0.1; + + if ( self.inview == 0 && self.player_close == 0 ) + { + if ( !isdefined( self.animname ) || isdefined( self.animname ) && self.animname != "zombie" ) + return; + + if ( isdefined( self.electrified ) && self.electrified == 1 ) + return; + + if ( isdefined( self.in_the_ground ) && self.in_the_ground == 1 ) + return; + + zombies = getaiarray( "axis" ); + + if ( !( isdefined( self.exclude_distance_cleanup_adding_to_total ) && self.exclude_distance_cleanup_adding_to_total ) && !( isdefined( self.isscreecher ) && self.isscreecher ) ) + { + level.zombie_total++; + + if ( self.health < level.zombie_health ) + level.zombie_respawned_health[level.zombie_respawned_health.size] = self.health; + } + + self maps\mp\zombies\_zm_spawner::reset_attack_spot(); + self notify( "zombie_delete" ); + self delete(); + recalc_zombie_array(); + } +} \ No newline at end of file diff --git a/scripts/zm/zm_buried/zm_buried_reimagined.gsc b/scripts/zm/zm_buried/zm_buried_reimagined.gsc index 858a927b..cc32259b 100644 --- a/scripts/zm/zm_buried/zm_buried_reimagined.gsc +++ b/scripts/zm/zm_buried/zm_buried_reimagined.gsc @@ -12,6 +12,7 @@ #include scripts\zm\replaced\zm_buried_sq_tpo; #include scripts\zm\replaced\zm_buried_sq_ip; #include scripts\zm\replaced\zm_buried_sq_ows; +#include scripts\zm\replaced\zm_buried_distance_tracking; #include scripts\zm\replaced\_zm_ai_ghost; #include scripts\zm\replaced\_zm_ai_sloth; #include scripts\zm\replaced\_zm_buildables_pooled; @@ -44,6 +45,7 @@ main() replaceFunc(maps\mp\zm_buried_sq_tpo::init, scripts\zm\replaced\zm_buried_sq_tpo::init); replaceFunc(maps\mp\zm_buried_sq_ip::init, scripts\zm\replaced\zm_buried_sq_ip::init); replaceFunc(maps\mp\zm_buried_sq_ows::ows_targets_start, scripts\zm\replaced\zm_buried_sq_ows::ows_targets_start); + replaceFunc(maps\mp\zm_buried_distance_tracking::delete_zombie_noone_looking, scripts\zm\replaced\zm_buried_distance_tracking::delete_zombie_noone_looking); replaceFunc(maps\mp\zombies\_zm_ai_ghost::should_last_ghost_drop_powerup, scripts\zm\replaced\_zm_ai_ghost::should_last_ghost_drop_powerup); replaceFunc(maps\mp\zombies\_zm_ai_sloth::sloth_init_start_funcs, scripts\zm\replaced\_zm_ai_sloth::sloth_init_start_funcs); replaceFunc(maps\mp\zombies\_zm_ai_sloth::sloth_init_update_funcs, scripts\zm\replaced\_zm_ai_sloth::sloth_init_update_funcs); diff --git a/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc b/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc index cc78efc2..18fdc94d 100644 --- a/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc +++ b/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc @@ -10,6 +10,7 @@ #include scripts\zm\replaced\zm_highrise_classic; #include scripts\zm\replaced\zm_highrise_buildables; #include scripts\zm\replaced\zm_highrise_elevators; +#include scripts\zm\replaced\zm_highrise_distance_tracking; #include scripts\zm\replaced\_zm_ai_leaper; #include scripts\zm\replaced\_zm_chugabud; #include scripts\zm\replaced\_zm_equip_springpad; @@ -36,6 +37,8 @@ main() replaceFunc(maps\mp\zm_highrise_elevators::init_elevator_perks, scripts\zm\replaced\zm_highrise_elevators::init_elevator_perks); replaceFunc(maps\mp\zm_highrise_elevators::elevator_think, scripts\zm\replaced\zm_highrise_elevators::elevator_think); replaceFunc(maps\mp\zm_highrise_elevators::faller_location_logic, scripts\zm\replaced\zm_highrise_elevators::faller_location_logic); + replaceFunc(maps\mp\zm_highrise_distance_tracking::zombie_tracking_init, scripts\zm\replaced\zm_highrise_distance_tracking::zombie_tracking_init); + replaceFunc(maps\mp\zm_highrise_distance_tracking::delete_zombie_noone_looking, scripts\zm\replaced\zm_highrise_distance_tracking::delete_zombie_noone_looking); replaceFunc(maps\mp\zombies\_zm_ai_leaper::leaper_round_tracker, scripts\zm\replaced\_zm_ai_leaper::leaper_round_tracker); replaceFunc(maps\mp\zombies\_zm_equip_springpad::springpadthink, scripts\zm\replaced\_zm_equip_springpad::springpadthink); replaceFunc(maps\mp\zombies\_zm_weap_slipgun::init, scripts\zm\replaced\_zm_weap_slipgun::init); diff --git a/scripts/zm/zm_prison/zm_prison_reimagined.gsc b/scripts/zm/zm_prison/zm_prison_reimagined.gsc index 41d18a3f..1c29bee4 100644 --- a/scripts/zm/zm_prison/zm_prison_reimagined.gsc +++ b/scripts/zm/zm_prison/zm_prison_reimagined.gsc @@ -13,6 +13,7 @@ #include scripts\zm\replaced\zm_alcatraz_traps; #include scripts\zm\replaced\zm_alcatraz_travel; #include scripts\zm\replaced\zm_alcatraz_weap_quest; +#include scripts\zm\replaced\zm_alcatraz_distance_tracking; #include scripts\zm\replaced\zm_prison_sq_bg; #include scripts\zm\replaced\zm_prison_sq_final; #include scripts\zm\replaced\_zm_afterlife; @@ -42,6 +43,7 @@ main() replaceFunc(maps\mp\zm_alcatraz_traps::tower_trap_trigger_think, scripts\zm\replaced\zm_alcatraz_traps::tower_trap_trigger_think); replaceFunc(maps\mp\zm_alcatraz_travel::move_gondola, scripts\zm\replaced\zm_alcatraz_travel::move_gondola); replaceFunc(maps\mp\zm_alcatraz_weap_quest::grief_soul_catcher_state_manager, scripts\zm\replaced\zm_alcatraz_weap_quest::grief_soul_catcher_state_manager); + replaceFunc(maps\mp\zm_alcatraz_distance_tracking::delete_zombie_noone_looking, scripts\zm\replaced\zm_alcatraz_distance_tracking::delete_zombie_noone_looking); replaceFunc(maps\mp\zm_prison_sq_bg::give_sq_bg_reward, scripts\zm\replaced\zm_prison_sq_bg::give_sq_bg_reward); replaceFunc(maps\mp\zm_prison_sq_final::stage_one, scripts\zm\replaced\zm_prison_sq_final::stage_one); replaceFunc(maps\mp\zm_prison_sq_final::final_flight_trigger, scripts\zm\replaced\zm_prison_sq_final::final_flight_trigger); diff --git a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc index 7b6f86c8..4de93124 100644 --- a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc +++ b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc @@ -20,6 +20,7 @@ #include scripts\zm\replaced\zm_tomb_tank; #include scripts\zm\replaced\zm_tomb_teleporter; #include scripts\zm\replaced\zm_tomb_utility; +#include scripts\zm\replaced\zm_tomb_distance_tracking; #include scripts\zm\replaced\_zm_ai_mechz; #include scripts\zm\replaced\_zm_craftables; #include scripts\zm\replaced\_zm_powerup_zombie_blood; @@ -65,6 +66,7 @@ main() replaceFunc(maps\mp\zm_tomb_teleporter::teleporter_init, scripts\zm\replaced\zm_tomb_teleporter::teleporter_init); replaceFunc(maps\mp\zm_tomb_utility::update_staff_accessories, scripts\zm\replaced\zm_tomb_utility::update_staff_accessories); replaceFunc(maps\mp\zm_tomb_utility::check_solo_status, scripts\zm\replaced\zm_tomb_utility::check_solo_status); + replaceFunc(maps\mp\zm_tomb_distance_tracking::delete_zombie_noone_looking, scripts\zm\replaced\zm_tomb_distance_tracking::delete_zombie_noone_looking); replaceFunc(maps\mp\zombies\_zm_ai_mechz::mechz_set_starting_health, scripts\zm\replaced\_zm_ai_mechz::mechz_set_starting_health); replaceFunc(maps\mp\zombies\_zm_ai_mechz::mechz_round_tracker, scripts\zm\replaced\_zm_ai_mechz::mechz_round_tracker); replaceFunc(maps\mp\zombies\_zm_craftables::choose_open_craftable, scripts\zm\replaced\_zm_craftables::choose_open_craftable); diff --git a/scripts/zm/zm_transit/zm_transit_reimagined.gsc b/scripts/zm/zm_transit/zm_transit_reimagined.gsc index 9086b53d..15c296e4 100644 --- a/scripts/zm/zm_transit/zm_transit_reimagined.gsc +++ b/scripts/zm/zm_transit/zm_transit_reimagined.gsc @@ -8,6 +8,7 @@ #include scripts\zm\replaced\zm_transit_utility; #include scripts\zm\replaced\zm_transit_ai_screecher; #include scripts\zm\replaced\zm_transit_bus; +#include scripts\zm\replaced\zm_transit_distance_tracking; #include scripts\zm\replaced\_zm_riotshield; #include scripts\zm\replaced\_zm_ai_avogadro; #include scripts\zm\replaced\_zm_ai_screecher; @@ -36,6 +37,7 @@ main() replaceFunc(maps\mp\zm_transit_ai_screecher::player_wait_land, scripts\zm\replaced\zm_transit_ai_screecher::player_wait_land); replaceFunc(maps\mp\zm_transit_bus::bussetup, scripts\zm\replaced\zm_transit_bus::bussetup); replaceFunc(maps\mp\zm_transit_bus::busscheduleadd, scripts\zm\replaced\zm_transit_bus::busscheduleadd); + replaceFunc(maps\mp\zm_transit_distance_tracking::delete_zombie_noone_looking, scripts\zm\replaced\zm_transit_distance_tracking::delete_zombie_noone_looking); replaceFunc(maps\mp\zombies\_zm_ai_avogadro::check_range_attack, scripts\zm\replaced\_zm_ai_avogadro::check_range_attack); replaceFunc(maps\mp\zombies\_zm_ai_avogadro::avogadro_exit, scripts\zm\replaced\_zm_ai_avogadro::avogadro_exit); replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_spawning_logic, scripts\zm\replaced\_zm_ai_screecher::screecher_spawning_logic);