diff --git a/README.md b/README.md index 1c52f82c..857dd8d4 100644 --- a/README.md +++ b/README.md @@ -538,6 +538,8 @@ * Bus wallbuy trigger functions the same as other wallbuy triggers * Lava in starting area activates after the power is on * Lava destroys grenades instantly +* Lava damage no longer changes based on player's health +* Decreased light lava damage from 6 to 5 * 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 new file mode 100644 index 00000000..41456cd7 --- /dev/null +++ b/scripts/zm/replaced/zm_transit_lava.gsc @@ -0,0 +1,52 @@ +#include maps\mp\zm_transit_lava; +#include common_scripts\utility; +#include maps\mp\_utility; +#include maps\mp\zombies\_zm_utility; +#include maps\mp\_visionset_mgr; +#include maps\mp\animscripts\zm_death; + +player_lava_damage( trig ) +{ + self endon( "zombified" ); + self endon( "death" ); + self endon( "disconnect" ); + max_dmg = 15; + min_dmg = 5; + burn_time = 1; + + if ( isdefined( self.is_zombie ) && self.is_zombie ) + return; + + self thread player_stop_burning(); + + if ( isdefined( trig.script_float ) ) + { + max_dmg *= trig.script_float; + min_dmg *= trig.script_float; + burn_time *= trig.script_float; + + if ( burn_time >= 1.5 ) + burn_time = 1.5; + } + + if (max_dmg < 15) + { + max_dmg = 5; + } + + if ( !isdefined( self.is_burning ) && is_player_valid( self ) ) + { + self.is_burning = 1; + maps\mp\_visionset_mgr::vsmgr_activate( "overlay", "zm_transit_burn", self, burn_time, level.zm_transit_burn_max_duration ); + self notify( "burned" ); + + if ( isdefined( trig.script_float ) && trig.script_float >= 0.1 ) + self thread player_burning_fx(); + + radiusdamage( self.origin, 10, max_dmg, min_dmg ); + + wait 0.5; + + self.is_burning = undefined; + } +} \ 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 e46680cf..826701a1 100644 --- a/scripts/zm/zm_transit/zm_transit_reimagined.gsc +++ b/scripts/zm/zm_transit/zm_transit_reimagined.gsc @@ -10,6 +10,7 @@ #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_transit_lava; #include scripts\zm\replaced\_zm_riotshield; #include scripts\zm\replaced\_zm_ai_avogadro; #include scripts\zm\replaced\_zm_ai_screecher; @@ -42,6 +43,7 @@ main() replaceFunc(maps\mp\zm_transit_bus::busscheduleadd, scripts\zm\replaced\zm_transit_bus::busscheduleadd); 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\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);