mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 07:08:06 -05:00
EMP Grenade: decrease player EMP time
EMP Grenade: change projectile speed, explosion radius, and shellshock to match MP Optimize EMP Grenade code
This commit is contained in:
@ -217,11 +217,14 @@
|
|||||||
|
|
||||||
### EMP Grenade
|
### EMP Grenade
|
||||||
* No longer disables HUD
|
* No longer disables HUD
|
||||||
* Disables player's perks for 30 seconds
|
* Disables player's perks for 12 seconds
|
||||||
* Increased ammo from 2 to 3
|
* Increased ammo from 2 to 3
|
||||||
* Added fx to EMP'd players
|
* Decreased projectile speed by 30% (same as Black Ops 2 Multiplayer EMP Grenade)
|
||||||
* Decreased zombie EMP radius by 30% (same radius as perk machine EMP)
|
* Decreased zombie EMP radius by 17% (same as Black Ops 2 Multiplayer EMP Grenade)
|
||||||
|
* Increased perk machine EMP radius by 22% (same as Black Ops 2 Multiplayer EMP Grenade)
|
||||||
* Decreased perk machine EMP time from 90 seconds to 60 seconds
|
* Decreased perk machine EMP time from 90 seconds to 60 seconds
|
||||||
|
* Changed shellshock (same as Black Ops 2 Multiplayer EMP Grenade)
|
||||||
|
* Added fx to EMP'd players
|
||||||
* 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
|
* Zombies that are in the ground can no longer get EMP'd
|
||||||
|
@ -332,8 +332,6 @@ post_all_players_spawned()
|
|||||||
}
|
}
|
||||||
|
|
||||||
level.zombie_vars["riotshield_hit_points"] = 1500;
|
level.zombie_vars["riotshield_hit_points"] = 1500;
|
||||||
level.zombie_vars["emp_stun_range"] = 420;
|
|
||||||
level.zombie_vars["emp_perk_off_time"] = 60;
|
|
||||||
level.zombie_vars["slipgun_reslip_rate"] = 0;
|
level.zombie_vars["slipgun_reslip_rate"] = 0;
|
||||||
level.zombie_vars["zombie_perk_divetonuke_min_damage"] = 1000;
|
level.zombie_vars["zombie_perk_divetonuke_min_damage"] = 1000;
|
||||||
level.zombie_vars["zombie_perk_divetonuke_max_damage"] = 5000;
|
level.zombie_vars["zombie_perk_divetonuke_max_damage"] = 5000;
|
||||||
|
@ -3,6 +3,21 @@
|
|||||||
#include common_scripts\utility;
|
#include common_scripts\utility;
|
||||||
#include maps\mp\zombies\_zm_utility;
|
#include maps\mp\zombies\_zm_utility;
|
||||||
|
|
||||||
|
init()
|
||||||
|
{
|
||||||
|
if (!emp_bomb_exists())
|
||||||
|
return;
|
||||||
|
|
||||||
|
set_zombie_var("emp_stun_range", 512);
|
||||||
|
set_zombie_var("emp_stun_time", 12);
|
||||||
|
set_zombie_var("emp_perk_off_range", 512);
|
||||||
|
set_zombie_var("emp_perk_off_time", 60);
|
||||||
|
precacheshellshock("flashbang");
|
||||||
|
|
||||||
|
level thread onplayerconnect();
|
||||||
|
level._equipment_emp_destroy_fx = loadfx("weapon/emp/fx_emp_explosion_equip");
|
||||||
|
}
|
||||||
|
|
||||||
emp_detonate(grenade)
|
emp_detonate(grenade)
|
||||||
{
|
{
|
||||||
grenade_owner = undefined;
|
grenade_owner = undefined;
|
||||||
@ -12,11 +27,10 @@ emp_detonate(grenade)
|
|||||||
grenade_owner = grenade.owner;
|
grenade_owner = grenade.owner;
|
||||||
}
|
}
|
||||||
|
|
||||||
grenade waittill("explode", grenade_origin);
|
grenade waittill("explode", origin);
|
||||||
|
|
||||||
emp_radius = level.zombie_vars["emp_perk_off_range"];
|
emp_radius = level.zombie_vars["emp_stun_range"];
|
||||||
emp_time = level.zombie_vars["emp_perk_off_time"];
|
emp_time = level.zombie_vars["emp_perk_off_time"];
|
||||||
origin = grenade_origin;
|
|
||||||
|
|
||||||
if (!isDefined(origin))
|
if (!isDefined(origin))
|
||||||
{
|
{
|
||||||
@ -24,11 +38,11 @@ emp_detonate(grenade)
|
|||||||
}
|
}
|
||||||
|
|
||||||
level notify("emp_detonate", origin, emp_radius);
|
level notify("emp_detonate", origin, emp_radius);
|
||||||
self thread emp_detonate_zombies(grenade_origin, grenade_owner);
|
self thread emp_detonate_zombies(origin, emp_radius, grenade_owner);
|
||||||
|
|
||||||
if (isDefined(level.custom_emp_detonate))
|
if (isDefined(level.custom_emp_detonate))
|
||||||
{
|
{
|
||||||
thread [[level.custom_emp_detonate]](grenade_origin);
|
thread [[level.custom_emp_detonate]](origin);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isDefined(grenade_owner))
|
if (isDefined(grenade_owner))
|
||||||
@ -44,9 +58,9 @@ 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)
|
emp_detonate_zombies(origin, radius, owner)
|
||||||
{
|
{
|
||||||
zombies = get_array_of_closest(grenade_origin, getaispeciesarray(level.zombie_team, "all"), undefined, undefined, level.zombie_vars["emp_stun_range"]);
|
zombies = get_array_of_closest(origin, getaispeciesarray(level.zombie_team, "all"), undefined, undefined, radius);
|
||||||
|
|
||||||
if (!isdefined(zombies))
|
if (!isdefined(zombies))
|
||||||
return;
|
return;
|
||||||
@ -77,8 +91,8 @@ emp_detonate_zombies(grenade_origin, grenade_owner)
|
|||||||
wait 0.05;
|
wait 0.05;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stunned >= 10 && isdefined(grenade_owner))
|
if (stunned >= 10 && isdefined(owner))
|
||||||
grenade_owner notify("the_lights_of_their_eyes");
|
owner notify("the_lights_of_their_eyes");
|
||||||
}
|
}
|
||||||
|
|
||||||
destroyequipment(origin, radius)
|
destroyequipment(origin, radius)
|
||||||
@ -151,8 +165,8 @@ emp_players(origin, radius, owner)
|
|||||||
{
|
{
|
||||||
if (is_player_valid(player) || player maps\mp\zombies\_zm_laststand::player_is_in_laststand())
|
if (is_player_valid(player) || player maps\mp\zombies\_zm_laststand::player_is_in_laststand())
|
||||||
{
|
{
|
||||||
time = 30;
|
time = level.zombie_vars["emp_stun_time"];
|
||||||
player shellshock("frag_grenade_mp", 2);
|
player shellshock("flashbang", 1);
|
||||||
player thread player_perk_pause_and_unpause_all_perks(time);
|
player thread player_perk_pause_and_unpause_all_perks(time);
|
||||||
player thread player_emp_fx(time);
|
player thread player_emp_fx(time);
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ main()
|
|||||||
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::jetgun_grind_zombie, scripts\zm\replaced\_zm_weap_jetgun::jetgun_grind_zombie);
|
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::jetgun_grind_zombie, scripts\zm\replaced\_zm_weap_jetgun::jetgun_grind_zombie);
|
||||||
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::handle_overheated_jetgun, scripts\zm\replaced\_zm_weap_jetgun::handle_overheated_jetgun);
|
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::handle_overheated_jetgun, scripts\zm\replaced\_zm_weap_jetgun::handle_overheated_jetgun);
|
||||||
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::jetgun_network_choke, scripts\zm\replaced\_zm_weap_jetgun::jetgun_network_choke);
|
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::jetgun_network_choke, scripts\zm\replaced\_zm_weap_jetgun::jetgun_network_choke);
|
||||||
|
replaceFunc(maps\mp\zombies\_zm_weap_emp_bomb::init, scripts\zm\replaced\_zm_weap_emp_bomb::init);
|
||||||
replaceFunc(maps\mp\zombies\_zm_weap_emp_bomb::emp_detonate, scripts\zm\replaced\_zm_weap_emp_bomb::emp_detonate);
|
replaceFunc(maps\mp\zombies\_zm_weap_emp_bomb::emp_detonate, scripts\zm\replaced\_zm_weap_emp_bomb::emp_detonate);
|
||||||
replaceFunc(maps\mp\zombies\_zm_equip_electrictrap::startelectrictrapdeploy, scripts\zm\replaced\_zm_equip_electrictrap::startelectrictrapdeploy);
|
replaceFunc(maps\mp\zombies\_zm_equip_electrictrap::startelectrictrapdeploy, scripts\zm\replaced\_zm_equip_electrictrap::startelectrictrapdeploy);
|
||||||
replaceFunc(maps\mp\zombies\_zm_equip_electrictrap::cleanupoldtrap, scripts\zm\replaced\_zm_equip_electrictrap::cleanupoldtrap);
|
replaceFunc(maps\mp\zombies\_zm_equip_electrictrap::cleanupoldtrap, scripts\zm\replaced\_zm_equip_electrictrap::cleanupoldtrap);
|
||||||
|
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user