diff --git a/README.md b/README.md index e3435802..b76c7c26 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ ## Zombies * Health capped at 100,000 +* Changed height to 64 on all maps (normally either 48 or 72) * Attracted towards points of interest immediately * Removed walkers in high rounds * Removed headless zombies diff --git a/scripts/zm/zm_buried/zm_buried_reimagined.gsc b/scripts/zm/zm_buried/zm_buried_reimagined.gsc index fa5f5101..007b8f97 100644 --- a/scripts/zm/zm_buried/zm_buried_reimagined.gsc +++ b/scripts/zm/zm_buried/zm_buried_reimagined.gsc @@ -25,6 +25,7 @@ main() init() { + level.zombie_init_done = ::zombie_init_done; level.special_weapon_magicbox_check = ::buried_special_weapon_magicbox_check; level._is_player_in_zombie_stink = maps/mp/zombies/_zm_perk_vulture::_is_player_in_zombie_stink; @@ -42,6 +43,14 @@ init() level thread disable_ghost_free_perk_on_damage(); } +zombie_init_done() +{ + self.allowpain = 0; + self.zombie_path_bad = 0; + self thread maps/mp/zm_buried_distance_tracking::escaped_zombies_cleanup_init(); + self setphysparams( 15, 0, 64 ); +} + buried_special_weapon_magicbox_check(weapon) { if ( weapon == "time_bomb_zm" ) diff --git a/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc b/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc index 2dc4002a..5d7ab331 100644 --- a/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc +++ b/scripts/zm/zm_highrise/zm_highrise_reimagined.gsc @@ -18,12 +18,32 @@ main() init() { + level.zombie_init_done = ::zombie_init_done; level.special_weapon_magicbox_check = ::highrise_special_weapon_magicbox_check; level.check_for_valid_spawn_near_team_callback = ::highrise_respawn_override; level thread elevator_solo_revive_fix(); } +zombie_init_done() +{ + self.allowpain = 0; + self.zombie_path_bad = 0; + self thread maps/mp/zm_highrise_distance_tracking::escaped_zombies_cleanup_init(); + self thread maps/mp/zm_highrise::elevator_traverse_watcher(); + if ( self.classname == "actor_zm_highrise_basic_03" ) + { + health_bonus = int( self.maxhealth * 0.05 ); + self.maxhealth += health_bonus; + if ( self.headmodel == "c_zom_zombie_chinese_head3_helmet" ) + { + self.maxhealth += health_bonus; + } + self.health = self.maxhealth; + } + self setphysparams( 15, 0, 64 ); +} + highrise_special_weapon_magicbox_check(weapon) { return 1; diff --git a/scripts/zm/zm_nuked/zm_nuked_reimagined.gsc b/scripts/zm/zm_nuked/zm_nuked_reimagined.gsc index 58a41b60..15dff12a 100644 --- a/scripts/zm/zm_nuked/zm_nuked_reimagined.gsc +++ b/scripts/zm/zm_nuked/zm_nuked_reimagined.gsc @@ -4,9 +4,20 @@ init() { + level.zombie_init_done = ::zombie_init_done; level.special_weapon_magicbox_check = ::nuked_special_weapon_magicbox_check; } +zombie_init_done() +{ + self.allowpain = 0; + if ( isDefined( self.script_parameters ) && self.script_parameters == "crater" ) + { + self thread maps/mp/zm_nuked::zombie_crater_locomotion(); + } + self setphysparams( 15, 0, 64 ); +} + nuked_special_weapon_magicbox_check(weapon) { return 1; diff --git a/scripts/zm/zm_prison/zm_prison_reimagined.gsc b/scripts/zm/zm_prison/zm_prison_reimagined.gsc index 65746183..0d71c9bf 100644 --- a/scripts/zm/zm_prison/zm_prison_reimagined.gsc +++ b/scripts/zm/zm_prison/zm_prison_reimagined.gsc @@ -18,6 +18,7 @@ main() init() { + level.zombie_init_done = ::zombie_init_done; level.special_weapon_magicbox_check = ::check_for_special_weapon_limit_exist; level.round_prestart_func = scripts/zm/replaced/_zm_afterlife::afterlife_start_zombie_logic; @@ -31,6 +32,12 @@ init() level thread plane_auto_refuel(); } +zombie_init_done() +{ + self.allowpain = 0; + self setphysparams( 15, 0, 64 ); +} + check_for_special_weapon_limit_exist(weapon) { if ( weapon != "blundergat_zm" && weapon != "minigun_alcatraz_zm" ) diff --git a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc index 0dc2070a..b610d380 100644 --- a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc +++ b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc @@ -15,6 +15,7 @@ main() init() { level.map_on_player_connect = ::on_player_connect; + level.zombie_init_done = ::zombie_init_done; level.special_weapon_magicbox_check = ::tomb_special_weapon_magicbox_check; level.custom_magic_box_timer_til_despawn = ::custom_magic_box_timer_til_despawn; @@ -31,6 +32,13 @@ on_player_connect() self thread give_shovel(); } +zombie_init_done() +{ + self.allowpain = 0; + self thread maps/mp/zm_tomb_distance_tracking::escaped_zombies_cleanup_init(); + self setphysparams( 15, 0, 64 ); +} + tomb_special_weapon_magicbox_check(weapon) { if ( weapon == "beacon_zm" ) diff --git a/scripts/zm/zm_transit/zm_transit_reimagined.gsc b/scripts/zm/zm_transit/zm_transit_reimagined.gsc index dfe17aa3..eb410fa1 100644 --- a/scripts/zm/zm_transit/zm_transit_reimagined.gsc +++ b/scripts/zm/zm_transit/zm_transit_reimagined.gsc @@ -36,6 +36,7 @@ main() init() { + level.zombie_init_done = ::zombie_init_done; level.special_weapon_magicbox_check = ::transit_special_weapon_magicbox_check; level.grenade_safe_to_bounce = ::grenade_safe_to_bounce; @@ -80,6 +81,12 @@ include_weapons_grief() maps/mp/zombies/_zm_weapons::add_limited_weapon( "raygun_mark2_upgraded_zm", 1 ); } +zombie_init_done() +{ + self.allowpain = 0; + self setphysparams( 15, 0, 64 ); +} + transit_special_weapon_magicbox_check(weapon) { return 1;