mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 15:17:57 -05:00
EMP: fix not destroying equipment
EMP: can destroy placed Zombie Shields
This commit is contained in:
@ -152,6 +152,7 @@
|
||||
* Disables player's perks for 30 seconds
|
||||
* Added fx to EMP'd players
|
||||
* Decreased zombie EMP radius by 30% (same radius as perk EMP)
|
||||
* Can destroy placed Zombie Shields
|
||||
* Sprinting no longer wakes up EMP'd zombies
|
||||
|
||||
### Claymore
|
||||
|
@ -227,8 +227,14 @@ post_all_players_spawned()
|
||||
level.equipment_subwoofer_needs_power = 0;
|
||||
level.limited_weapons["ray_gun_zm"] = undefined;
|
||||
level.limited_weapons["raygun_mark2_zm"] = 1;
|
||||
level.zombie_weapons["slipgun_zm"].upgrade_name = "slipgun_upgraded_zm";
|
||||
level.zombie_weapons_upgraded["slipgun_upgraded_zm"] = "slipgun_zm";
|
||||
|
||||
if (isDefined(level.zombie_weapons["slipgun_zm"]))
|
||||
{
|
||||
level.zombie_weapons["slipgun_zm"].upgrade_name = "slipgun_upgraded_zm";
|
||||
level.zombie_weapons_upgraded["slipgun_upgraded_zm"] = "slipgun_zm";
|
||||
}
|
||||
|
||||
level.zombie_vars["riotshield_hit_points"] = 1500;
|
||||
level.zombie_vars["emp_stun_range"] = 420;
|
||||
level.zombie_vars["slipgun_reslip_rate"] = 0;
|
||||
level.zombie_ai_limit_screecher = 1;
|
||||
|
@ -103,7 +103,9 @@ item_damage( damage )
|
||||
self [[ level.deployed_riotshield_damage_callback ]]( damage );
|
||||
}
|
||||
else if ( isdefined( self.owner ) )
|
||||
self.owner player_damage_equipment( self.equipname, damage, self.origin, self.stub );
|
||||
{
|
||||
self.owner player_damage_equipment( self.equipname, damage, self.origin, self.stub );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !isdefined( self.damage ) )
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include maps\mp\_utility;
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\zombies\_zm_utility;
|
||||
#include maps\mp\zombies\_zm_weap_emp_bomb;
|
||||
|
||||
emp_detonate(grenade)
|
||||
{
|
||||
@ -32,7 +33,7 @@ emp_detonate(grenade)
|
||||
|
||||
if ( isDefined( grenade_owner ) )
|
||||
{
|
||||
grenade_owner thread maps\mp\zombies\_zm_weap_emp_bomb::destroyequipment( origin, emp_radius );
|
||||
grenade_owner thread destroyequipment( origin, emp_radius );
|
||||
}
|
||||
|
||||
emp_players( origin, emp_radius, grenade_owner );
|
||||
@ -43,6 +44,65 @@ emp_detonate(grenade)
|
||||
maps\mp\zombies\_zm_power::revert_power_to_list( 1, origin, emp_radius, disabled_list );
|
||||
}
|
||||
|
||||
destroyequipment( origin, radius )
|
||||
{
|
||||
grenades = getentarray( "grenade", "classname" );
|
||||
rsquared = radius * radius;
|
||||
|
||||
for ( i = 0; i < grenades.size; i++ )
|
||||
{
|
||||
item = grenades[i];
|
||||
|
||||
if ( distancesquared( origin, item.origin ) > rsquared )
|
||||
continue;
|
||||
|
||||
if ( !isdefined( item.name ) )
|
||||
continue;
|
||||
|
||||
if ( !is_offhand_weapon( item.name ) )
|
||||
continue;
|
||||
|
||||
watcher = item.owner getwatcherforweapon( item.name );
|
||||
|
||||
if ( !isdefined( watcher ) )
|
||||
continue;
|
||||
|
||||
watcher thread waitanddetonate( item, 0.0, self, "emp_grenade_zm" );
|
||||
}
|
||||
|
||||
equipment = maps\mp\zombies\_zm_equipment::get_destructible_equipment_list();
|
||||
|
||||
for ( i = 0; i < equipment.size; i++ )
|
||||
{
|
||||
item = equipment[i];
|
||||
|
||||
if ( !isdefined( item ) )
|
||||
continue;
|
||||
|
||||
if ( distancesquared( origin, item.origin ) > rsquared )
|
||||
continue;
|
||||
|
||||
waitanddamage( item, 1505 );
|
||||
}
|
||||
}
|
||||
|
||||
waitanddamage( object, damage )
|
||||
{
|
||||
object endon( "death" );
|
||||
object endon( "hacked" );
|
||||
object.stun_fx = 1;
|
||||
|
||||
if ( isdefined( level._equipment_emp_destroy_fx ) )
|
||||
playfx( level._equipment_emp_destroy_fx, object.origin + vectorscale( ( 0, 0, 1 ), 5.0 ), ( 0, randomfloat( 360 ), 0 ) );
|
||||
|
||||
delay = 1.1;
|
||||
|
||||
if ( delay )
|
||||
wait( delay );
|
||||
|
||||
object thread scripts\zm\replaced\_zm_equipment::item_damage( damage );
|
||||
}
|
||||
|
||||
emp_players(origin, radius, owner)
|
||||
{
|
||||
rsquared = radius * radius;
|
||||
|
Reference in New Issue
Block a user