From 8d2538c047d0fce5980e111d68b48a9dafa65677 Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Fri, 15 Dec 2023 19:30:14 -0800 Subject: [PATCH] Tranzit: decrease zombie explosion max damage --- README.md | 1 + scripts/zm/replaced/zm_transit_lava.gsc | 35 +++++++++++++++++++ .../zm/zm_transit/zm_transit_reimagined.gsc | 1 + 3 files changed, 37 insertions(+) diff --git a/README.md b/README.md index 857dd8d4..88f3d540 100644 --- a/README.md +++ b/README.md @@ -540,6 +540,7 @@ * Lava destroys grenades instantly * Lava damage no longer changes based on player's health * Decreased light lava damage from 6 to 5 +* Decreased zombie explosion max damage from 30 to 15 * Players can be revived in the fog easier * Lamp post portals stay active after activating once * Decreased brightness at Power Station diff --git a/scripts/zm/replaced/zm_transit_lava.gsc b/scripts/zm/replaced/zm_transit_lava.gsc index 41456cd7..158034f2 100644 --- a/scripts/zm/replaced/zm_transit_lava.gsc +++ b/scripts/zm/replaced/zm_transit_lava.gsc @@ -49,4 +49,39 @@ player_lava_damage( trig ) self.is_burning = undefined; } +} + +zombie_exploding_death( zombie_dmg, trap ) +{ + self endon( "stop_flame_damage" ); + + if ( isdefined( self.isdog ) && self.isdog && isdefined( self.a.nodeath ) ) + return; + + while ( isdefined( self ) && self.health >= zombie_dmg && ( isdefined( self.is_on_fire ) && self.is_on_fire ) ) + wait 0.5; + + if ( !isdefined( self ) || !( isdefined( self.is_on_fire ) && self.is_on_fire ) || isdefined( self.damageweapon ) && ( self.damageweapon == "tazer_knuckles_zm" || self.damageweapon == "jetgun_zm" ) || isdefined( self.knuckles_extinguish_flames ) && self.knuckles_extinguish_flames ) + return; + + tag = "J_SpineLower"; + + if ( isdefined( self.animname ) && self.animname == "zombie_dog" ) + tag = "tag_origin"; + + if ( is_mature() ) + { + if ( isdefined( level._effect["zomb_gib"] ) ) + playfx( level._effect["zomb_gib"], self gettagorigin( tag ) ); + } + else if ( isdefined( level._effect["spawn_cloud"] ) ) + playfx( level._effect["spawn_cloud"], self gettagorigin( tag ) ); + + self radiusdamage( self.origin, 128, 15, 15, undefined, "MOD_EXPLOSIVE" ); + self ghost(); + + if ( isdefined( self.isdog ) && self.isdog ) + self hide(); + else + self delay_thread( 1, ::self_delete ); } \ No newline at end of file diff --git a/scripts/zm/zm_transit/zm_transit_reimagined.gsc b/scripts/zm/zm_transit/zm_transit_reimagined.gsc index 826701a1..074de40e 100644 --- a/scripts/zm/zm_transit/zm_transit_reimagined.gsc +++ b/scripts/zm/zm_transit/zm_transit_reimagined.gsc @@ -44,6 +44,7 @@ main() replaceFunc(maps\mp\zm_transit_bus::busplowkillzombieuntildeath, scripts\zm\replaced\zm_transit_bus::busplowkillzombieuntildeath); 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\zm_transit_lava::player_lava_damage, scripts\zm\replaced\zm_transit_lava::player_lava_damage); + replaceFunc(maps\mp\zm_transit_lava::zombie_exploding_death, scripts\zm\replaced\zm_transit_lava::zombie_exploding_death); 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);