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

EMP Grenade: zombies that are in the ground can no longer get EMP'd

This commit is contained in:
Jbleezy
2023-04-17 19:58:39 -07:00
parent 7e6cab6d47
commit da1a729eca
2 changed files with 39 additions and 1 deletions

View File

@ -185,6 +185,7 @@
* Decreased zombie EMP radius by 30% (same radius as perk EMP) * Decreased zombie EMP radius by 30% (same radius as perk EMP)
* Can destroy deployed Zombie Shields * Can destroy deployed Zombie Shields
* Sprinting no longer wakes up EMP'd zombies * Sprinting no longer wakes up EMP'd zombies
* Zombies that are in the ground can no longer get EMP'd
### Hell's Retriever ### Hell's Retriever
* No longer ricochets to other zombies when not charged * No longer ricochets to other zombies when not charged

View File

@ -24,7 +24,7 @@ emp_detonate(grenade)
} }
level notify( "emp_detonate", origin, emp_radius ); level notify( "emp_detonate", origin, emp_radius );
self thread maps\mp\zombies\_zm_weap_emp_bomb::emp_detonate_zombies( grenade_origin, grenade_owner ); self thread emp_detonate_zombies( grenade_origin, grenade_owner );
if ( isDefined( level.custom_emp_detonate ) ) if ( isDefined( level.custom_emp_detonate ) )
{ {
@ -44,6 +44,43 @@ emp_detonate(grenade)
maps\mp\zombies\_zm_power::revert_power_to_list( 1, origin, emp_radius, disabled_list ); maps\mp\zombies\_zm_power::revert_power_to_list( 1, origin, emp_radius, disabled_list );
} }
emp_detonate_zombies( grenade_origin, grenade_owner )
{
zombies = get_array_of_closest( grenade_origin, getaispeciesarray( level.zombie_team, "all" ), undefined, undefined, level.zombie_vars["emp_stun_range"] );
if ( !isdefined( zombies ) )
return;
for ( i = 0; i < zombies.size; i++ )
{
if ( !isdefined( zombies[i] ) || isdefined( zombies[i].ignore_inert ) && zombies[i].ignore_inert )
continue;
if ( is_true( zombies[i].in_the_ground ) )
continue;
zombies[i].becoming_inert = 1;
}
stunned = 0;
for ( i = 0; i < zombies.size; i++ )
{
if ( !isdefined( zombies[i] ) || isdefined( zombies[i].ignore_inert ) && zombies[i].ignore_inert )
continue;
if ( is_true( zombies[i].in_the_ground ) )
continue;
stunned++;
zombies[i] thread stun_zombie();
wait 0.05;
}
if ( stunned >= 10 && isdefined( grenade_owner ) )
grenade_owner notify( "the_lights_of_their_eyes" );
}
destroyequipment( origin, radius ) destroyequipment( origin, radius )
{ {
grenades = getentarray( "grenade", "classname" ); grenades = getentarray( "grenade", "classname" );