#include common_scripts/utility; #include maps/mp/zombies/_zm_utility; init() { level thread night_mode(); } night_mode() { for( ;; ) { level waittill( "connected", player ); player setclientdvar( "r_dof_enable", 0 ); player setclientdvar( "r_lodBiasRigid", -1000 ); player setclientdvar( "r_lodBiasSkinned", -1000 ); player setclientdvar( "r_enablePlayerShadow", 1 ); player setclientdvar( "r_skyTransition", 1 ); player setclientdvar( "sm_sunquality", 2 ); player setclientdvar( "vc_fbm", "0 0 0 0" ); player setclientdvar( "vc_fsm", "1 1 1 1" ); player thread visual_fix(); player thread enable_night_mode(); } } enable_night_mode() { if( !isDefined( level.default_r_exposureValue ) ) level.default_r_exposureValue = getDvar( "r_exposureValue" ); if( !isDefined( level.default_r_lightTweakSunLight ) ) level.default_r_lightTweakSunLight = getDvar( "r_lightTweakSunLight" ); if( !isDefined( level.default_r_sky_intensity_factor0 ) ) level.default_r_sky_intensity_factor0 = getDvar( "r_sky_intensity_factor0" ); self setclientdvar( "r_filmUseTweaks", 1 ); self setclientdvar( "r_bloomTweaks", 1 ); self setclientdvar( "r_exposureTweak", 1 ); self setclientdvar( "vc_rgbh", "0.1 0 0.3 0" ); self setclientdvar( "vc_yl", "0 0 0.25 0" ); self setclientdvar( "vc_yh", "0.02 0 0.1 0" ); self setclientdvar( "vc_rgbl", "0.02 0 0.1 0" ); self setclientdvar( "r_exposureValue", 3.9 ); self setclientdvar( "r_lightTweakSunLight", 1 ); self setclientdvar( "r_sky_intensity_factor0", 0 ); if( level.script == "zm_buried" ) { self setclientdvar( "r_exposureValue", 3.5 ); } else if( level.script == "zm_tomb" ) { self setclientdvar( "r_exposureValue", 4 ); } else if( level.script == "zm_nuked" ) { self setclientdvar( "r_exposureValue", 5.6 ); } else if( level.script == "zm_highrise" ) { self setclientdvar( "r_exposureValue", 3.9 ); } } disable_night_mode() { self notify( "disable_nightmode" ); self setclientdvar( "r_filmUseTweaks", 0 ); self setclientdvar( "r_bloomTweaks", 0 ); self setclientdvar( "r_exposureTweak", 0 ); self setclientdvar( "vc_rgbh", "0 0 0 0" ); self setclientdvar( "vc_yl", "0 0 0 0" ); self setclientdvar( "vc_yh", "0 0 0 0" ); self setclientdvar( "vc_rgbl", "0 0 0 0" ); self setclientdvar( "r_exposureValue", int( level.default_r_exposureValue ) ); self setclientdvar( "r_lightTweakSunLight", int( level.default_r_lightTweakSunLight ) ); self setclientdvar( "r_sky_intensity_factor0", int( level.default_r_sky_intensity_factor0 ) ); } visual_fix() { level endon( "game_ended" ); self endon( "disconnect" ); self endon( "disable_nightmode" ); if( level.script == "zm_buried" ) { while( getDvar( "r_sky_intensity_factor0" ) != 0 ) { self setclientdvar( "r_lightTweakSunLight", 1 ); self setclientdvar( "r_sky_intensity_factor0", 0 ); wait 0.05; } } else if( level.script == "zm_prison" || level.script == "zm_tomb" ) { while( getDvar( "r_lightTweakSunLight" ) != 0 ) { for( i = getDvar( "r_lightTweakSunLight" ); i >= 0; i = ( i - 0.05 ) ) { self setclientdvar( "r_lightTweakSunLight", i ); wait 0.05; } wait 0.05; } } else return; }