mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-11 23:57:59 -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
|
* Disables player's perks for 30 seconds
|
||||||
* Added fx to EMP'd players
|
* Added fx to EMP'd players
|
||||||
* Decreased zombie EMP radius by 30% (same radius as perk EMP)
|
* Decreased zombie EMP radius by 30% (same radius as perk EMP)
|
||||||
|
* Can destroy placed Zombie Shields
|
||||||
* Sprinting no longer wakes up EMP'd zombies
|
* Sprinting no longer wakes up EMP'd zombies
|
||||||
|
|
||||||
### Claymore
|
### Claymore
|
||||||
|
@ -227,8 +227,14 @@ post_all_players_spawned()
|
|||||||
level.equipment_subwoofer_needs_power = 0;
|
level.equipment_subwoofer_needs_power = 0;
|
||||||
level.limited_weapons["ray_gun_zm"] = undefined;
|
level.limited_weapons["ray_gun_zm"] = undefined;
|
||||||
level.limited_weapons["raygun_mark2_zm"] = 1;
|
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["emp_stun_range"] = 420;
|
||||||
level.zombie_vars["slipgun_reslip_rate"] = 0;
|
level.zombie_vars["slipgun_reslip_rate"] = 0;
|
||||||
level.zombie_ai_limit_screecher = 1;
|
level.zombie_ai_limit_screecher = 1;
|
||||||
|
@ -103,7 +103,9 @@ item_damage( damage )
|
|||||||
self [[ level.deployed_riotshield_damage_callback ]]( damage );
|
self [[ level.deployed_riotshield_damage_callback ]]( damage );
|
||||||
}
|
}
|
||||||
else if ( isdefined( self.owner ) )
|
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
|
else
|
||||||
{
|
{
|
||||||
if ( !isdefined( self.damage ) )
|
if ( !isdefined( self.damage ) )
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include maps\mp\_utility;
|
#include maps\mp\_utility;
|
||||||
#include common_scripts\utility;
|
#include common_scripts\utility;
|
||||||
#include maps\mp\zombies\_zm_utility;
|
#include maps\mp\zombies\_zm_utility;
|
||||||
|
#include maps\mp\zombies\_zm_weap_emp_bomb;
|
||||||
|
|
||||||
emp_detonate(grenade)
|
emp_detonate(grenade)
|
||||||
{
|
{
|
||||||
@ -32,7 +33,7 @@ emp_detonate(grenade)
|
|||||||
|
|
||||||
if ( isDefined( grenade_owner ) )
|
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 );
|
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 );
|
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)
|
emp_players(origin, radius, owner)
|
||||||
{
|
{
|
||||||
rsquared = radius * radius;
|
rsquared = radius * radius;
|
||||||
|
Reference in New Issue
Block a user