mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-10 10:47:58 -05:00
72 lines
1.3 KiB
Plaintext
72 lines
1.3 KiB
Plaintext
#include maps/mp/animscripts/zm_melee;
|
|
#include maps/mp/animscripts/zm_utility;
|
|
#include maps/mp/animscripts/utility;
|
|
#include maps/mp/animscripts/shared;
|
|
#include common_scripts/utility;
|
|
|
|
main()
|
|
{
|
|
self endon( "killanimscript" );
|
|
self endon( "melee" );
|
|
maps/mp/animscripts/zm_utility::initialize( "zombie_combat" );
|
|
self animmode( "zonly_physics", 0 );
|
|
if ( isDefined( self.combat_animmode ) )
|
|
{
|
|
self [[ self.combat_animmode ]]();
|
|
}
|
|
self orientmode( "face angle", self.angles[ 1 ] );
|
|
for ( ;; )
|
|
{
|
|
if ( trymelee() )
|
|
{
|
|
return;
|
|
}
|
|
exposedwait();
|
|
}
|
|
}
|
|
|
|
exposedwait()
|
|
{
|
|
if ( !isDefined( self.can_always_see ) || !isDefined( self.enemy ) && !self cansee( self.enemy ) )
|
|
{
|
|
self endon( "enemy" );
|
|
wait ( 0,2 + randomfloat( 0,1 ) );
|
|
}
|
|
else
|
|
{
|
|
if ( !isDefined( self.enemy ) )
|
|
{
|
|
self endon( "enemy" );
|
|
wait ( 0,2 + randomfloat( 0,1 ) );
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
wait 0,05;
|
|
}
|
|
}
|
|
}
|
|
|
|
trymelee()
|
|
{
|
|
if ( isDefined( self.cant_melee ) && self.cant_melee )
|
|
{
|
|
return 0;
|
|
}
|
|
if ( !isDefined( self.enemy ) )
|
|
{
|
|
return 0;
|
|
}
|
|
if ( distancesquared( self.origin, self.enemy.origin ) > 262144 )
|
|
{
|
|
return 0;
|
|
}
|
|
canmelee = maps/mp/animscripts/zm_melee::canmeleedesperate();
|
|
if ( !canmelee )
|
|
{
|
|
return 0;
|
|
}
|
|
self thread maps/mp/animscripts/zm_melee::meleecombat();
|
|
return 1;
|
|
}
|