1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-19 11:38:37 -05:00
Files
BO2-Reimagined/scripts/zm/replaced/_zm_weap_emp_bomb.gsc

57 lines
1.4 KiB
Plaintext

#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\zombies\_zm_utility;
emp_detonate(grenade)
{
grenade_owner = undefined;
if ( isDefined( grenade.owner ) )
{
grenade_owner = grenade.owner;
}
grenade waittill( "explode", grenade_origin );
emp_radius = level.zombie_vars[ "emp_perk_off_range" ];
emp_time = level.zombie_vars[ "emp_perk_off_time" ];
origin = grenade_origin;
if ( !isDefined( origin ) )
{
return;
}
level notify( "emp_detonate" );
self thread maps/mp/zombies/_zm_weap_emp_bomb::emp_detonate_zombies( grenade_origin, grenade_owner );
if ( isDefined( level.custom_emp_detonate ) )
{
thread [[ level.custom_emp_detonate ]]( grenade_origin );
}
if ( isDefined( grenade_owner ) )
{
grenade_owner thread maps/mp/zombies/_zm_weap_emp_bomb::destroyequipment( origin, emp_radius );
}
emp_players( origin, emp_radius, grenade_owner );
disabled_list = maps/mp/zombies/_zm_power::change_power_in_radius( -1, origin, emp_radius );
wait emp_time;
maps/mp/zombies/_zm_power::revert_power_to_list( 1, origin, emp_radius, disabled_list );
}
emp_players(origin, radius, owner)
{
rsquared = radius * radius;
players = get_players();
foreach(player in players)
{
if (player maps/mp/zombies/_zm_laststand::player_is_in_laststand() && player.team != owner.team && distancesquared(origin, player.origin) < rsquared)
{
player.bleedout_time = 0;
}
}
}