1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 07:08:06 -05:00

Zombies: fix not being able to drop powerups after doing certain traversals

This commit is contained in:
Jbleezy
2023-05-01 00:02:07 -07:00
parent 3fa9c67ec8
commit e64627725c
2 changed files with 52 additions and 0 deletions

View File

@ -6,6 +6,7 @@
#include scripts\zm\replaced\utility;
#include scripts\zm\replaced\zm_melee;
#include scripts\zm\replaced\zm_utility;
#include scripts\zm\replaced\zm_shared;
#include scripts\zm\replaced\_zm_gametype;
#include scripts\zm\replaced\_zm;
#include scripts\zm\replaced\_zm_audio;
@ -39,6 +40,7 @@ main()
replaceFunc(common_scripts\utility::struct_class_init, scripts\zm\replaced\utility::struct_class_init);
replaceFunc(maps\mp\animscripts\zm_melee::meleecombat, scripts\zm\replaced\zm_melee::meleecombat);
replaceFunc(maps\mp\animscripts\zm_utility::wait_network_frame, scripts\zm\replaced\_zm_utility::wait_network_frame);
replaceFunc(maps\mp\animscripts\traverse\zm_shared::dotraverse, scripts\zm\replaced\zm_shared::dotraverse);
replaceFunc(maps\mp\gametypes_zm\_zm_gametype::hide_gump_loading_for_hotjoiners, scripts\zm\replaced\_zm_gametype::hide_gump_loading_for_hotjoiners);
replaceFunc(maps\mp\zombies\_zm::round_start, scripts\zm\replaced\_zm::round_start);
replaceFunc(maps\mp\zombies\_zm::ai_calculate_health, scripts\zm\replaced\_zm::ai_calculate_health);

View File

@ -0,0 +1,50 @@
#include maps\mp\animscripts\utility;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\animscripts\zm_shared;
#include maps\mp\animscripts\zm_run;
dotraverse( traversestate, traversealias, no_powerups )
{
self endon( "killanimscript" );
self traversemode( "nogravity" );
self traversemode( "noclip" );
old_powerups = 0;
if ( isdefined( no_powerups ) && no_powerups )
{
old_powerups = self.no_powerups;
self.no_powerups = 1;
}
self.is_traversing = 1;
self notify( "zombie_start_traverse" );
self.traversestartnode = self getnegotiationstartnode();
assert( isdefined( self.traversestartnode ) );
self orientmode( "face angle", self.traversestartnode.angles[1] );
self.traversestartz = self.origin[2];
if ( isdefined( self.pre_traverse ) )
self [[ self.pre_traverse ]]();
self setanimstatefromasd( traversestate, traversealias );
self maps\mp\animscripts\zm_shared::donotetracks( "traverse_anim" );
self traversemode( "gravity" );
self.a.nodeath = 0;
if ( isdefined( self.post_traverse ) )
self [[ self.post_traverse ]]();
self maps\mp\animscripts\zm_run::needsupdate();
if ( !self.isdog )
self maps\mp\animscripts\zm_run::moverun();
self.is_traversing = 0;
self notify( "zombie_end_traverse" );
if ( isdefined( no_powerups ) && no_powerups && is_true( self.no_powerups ) )
{
self.no_powerups = old_powerups;
}
}