mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 15:17:57 -05:00
Acidgat (upgraded): increase splash damage
Acidgat (upgraded): add separate projectile weapon
This commit is contained in:
@ -1564,6 +1564,14 @@ actor_damage_override(inflictor, attacker, damage, flags, meansofdeath, weapon,
|
||||
}
|
||||
}
|
||||
|
||||
if (weapon == "blundersplat_explosive_dart_upgraded_zm")
|
||||
{
|
||||
if (!is_true(self.is_brutus))
|
||||
{
|
||||
final_damage = scale_damage(final_damage, 8000);
|
||||
}
|
||||
}
|
||||
|
||||
if (weapon == "staff_revive_zm")
|
||||
{
|
||||
if (!is_true(self.is_mechz))
|
||||
|
@ -594,7 +594,7 @@ afterlife_player_damage_callback(einflictor, eattacker, idamage, idflags, smeans
|
||||
|
||||
if (smeansofdeath == "MOD_PROJECTILE" || smeansofdeath == "MOD_PROJECTILE_SPLASH" || smeansofdeath == "MOD_GRENADE" || smeansofdeath == "MOD_GRENADE_SPLASH")
|
||||
{
|
||||
if (sweapon == "blundersplat_explosive_dart_zm")
|
||||
if (sweapon == "blundersplat_explosive_dart_zm" || sweapon == "blundersplat_explosive_dart_upgraded_zm")
|
||||
{
|
||||
if (self hasperk("specialty_flakjacket"))
|
||||
{
|
||||
|
@ -7,6 +7,25 @@
|
||||
#include maps\mp\zombies\_zm_spawner;
|
||||
#include maps\mp\animscripts\zm_shared;
|
||||
|
||||
init()
|
||||
{
|
||||
if (!maps\mp\zombies\_zm_weapons::is_weapon_included("blundergat_zm"))
|
||||
return;
|
||||
else
|
||||
{
|
||||
precacheitem("blundersplat_bullet_zm");
|
||||
precacheitem("blundersplat_explosive_dart_zm");
|
||||
precacheitem("blundersplat_bullet_upgraded_zm");
|
||||
precacheitem("blundersplat_explosive_dart_upgraded_zm");
|
||||
}
|
||||
|
||||
level.zombie_spawners = getentarray("zombie_spawner", "script_noteworthy");
|
||||
array_thread(level.zombie_spawners, ::add_spawn_function, ::zombie_wait_for_blundersplat_hit);
|
||||
level.custom_derive_damage_refs = ::gib_on_blundergat_damage;
|
||||
level._effect["dart_light"] = loadfx("weapon/crossbow/fx_trail_crossbow_blink_grn_os");
|
||||
onplayerconnect_callback(::blundersplat_on_player_connect);
|
||||
}
|
||||
|
||||
wait_for_blundersplat_fired()
|
||||
{
|
||||
self endon("disconnect");
|
||||
@ -57,9 +76,15 @@ _titus_locate_target(is_not_upgraded = 1, count)
|
||||
fire_origin = self getplayercamerapos();
|
||||
|
||||
if (is_not_upgraded)
|
||||
{
|
||||
bullet_name = "blundersplat_bullet_zm";
|
||||
n_fuse_timer = randomfloatrange(1.0, 2.5);
|
||||
}
|
||||
else
|
||||
{
|
||||
bullet_name = "blundersplat_bullet_upgraded_zm";
|
||||
n_fuse_timer = randomfloatrange(3.0, 4.0);
|
||||
}
|
||||
|
||||
n_spread = 6;
|
||||
|
||||
@ -89,8 +114,8 @@ _titus_locate_target(is_not_upgraded = 1, count)
|
||||
trace_end = fire_origin + vec * 20000;
|
||||
trace = bullettrace(fire_origin, trace_end, 1, self);
|
||||
offsetpos = trace["position"];
|
||||
e_dart = magicbullet("blundersplat_bullet_zm", fire_origin, offsetpos, self);
|
||||
e_dart thread _titus_reset_grenade_fuse(n_fuse_timer);
|
||||
e_dart = magicbullet(bullet_name, fire_origin, offsetpos, self);
|
||||
e_dart thread _titus_reset_grenade_fuse(n_fuse_timer, is_not_upgraded);
|
||||
}
|
||||
|
||||
_titus_reset_grenade_fuse(n_fuse_timer = randomfloatrange(1, 1.5), is_not_upgraded = 1)
|
||||
@ -108,9 +133,9 @@ _titus_reset_grenade_fuse(n_fuse_timer = randomfloatrange(1, 1.5), is_not_upgrad
|
||||
e_grenade resetmissiledetonationtime(n_fuse_timer);
|
||||
|
||||
if (is_not_upgraded)
|
||||
e_grenade create_zombie_point_of_interest(250, 15, 10000);
|
||||
e_grenade create_zombie_point_of_interest(250, 5, 10000);
|
||||
else
|
||||
e_grenade create_zombie_point_of_interest(500, 30, 10000);
|
||||
e_grenade create_zombie_point_of_interest(500, 10, 10000);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -203,6 +203,108 @@ wait_for_player_to_take(player, str_valid_weapon)
|
||||
}
|
||||
}
|
||||
|
||||
alcatraz_audio_get_mod_type_override(impact, mod, weapon, zombie, instakill, dist, player)
|
||||
{
|
||||
close_dist = 4096;
|
||||
med_dist = 15376;
|
||||
far_dist = 75625;
|
||||
a_str_mod = [];
|
||||
|
||||
if (isdefined(zombie.my_soul_catcher))
|
||||
{
|
||||
if (!(isdefined(zombie.my_soul_catcher.wolf_kill_cooldown) && zombie.my_soul_catcher.wolf_kill_cooldown))
|
||||
{
|
||||
if (!(isdefined(player.soul_catcher_cooldown) && player.soul_catcher_cooldown))
|
||||
{
|
||||
if (isdefined(zombie.my_soul_catcher.souls_received) && zombie.my_soul_catcher.souls_received > 0)
|
||||
a_str_mod[a_str_mod.size] = "wolf_kill";
|
||||
else if (isdefined(zombie.my_soul_catcher.souls_received) && zombie.my_soul_catcher.souls_received == 0)
|
||||
{
|
||||
if (!(isdefined(level.wolf_encounter_vo_played) && level.wolf_encounter_vo_played))
|
||||
{
|
||||
if (level.soul_catchers_charged == 0)
|
||||
zombie.my_soul_catcher thread maps\mp\zm_alcatraz_weap_quest::first_wolf_encounter_vo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (weapon == "blundergat_zm" || weapon == "blundergat_upgraded_zm")
|
||||
a_str_mod[a_str_mod.size] = "blundergat";
|
||||
|
||||
if (isdefined(zombie.damageweapon) && (zombie.damageweapon == "blundersplat_explosive_dart_zm" || zombie.damageweapon == "blundersplat_explosive_dart_upgraded_zm"))
|
||||
a_str_mod[a_str_mod.size] = "acidgat";
|
||||
|
||||
if (isdefined(zombie.damageweapon) && zombie.damageweapon == "bouncing_tomahawk_zm")
|
||||
a_str_mod[a_str_mod.size] = "retriever";
|
||||
|
||||
if (isdefined(zombie.damageweapon) && zombie.damageweapon == "upgraded_tomahawk_zm")
|
||||
a_str_mod[a_str_mod.size] = "redeemer";
|
||||
|
||||
if (weapon == "minigun_alcatraz_zm" || weapon == "minigun_alcatraz_upgraded_zm")
|
||||
a_str_mod[a_str_mod.size] = "death_machine";
|
||||
|
||||
if (is_headshot(weapon, impact, mod) && dist >= far_dist)
|
||||
a_str_mod[a_str_mod.size] = "headshot";
|
||||
|
||||
if (is_explosive_damage(mod) && weapon != "ray_gun_zm" && weapon != "ray_gun_upgraded_zm" && !(isdefined(zombie.is_on_fire) && zombie.is_on_fire))
|
||||
{
|
||||
if (!isinarray(a_str_mod, "retriever") && !isinarray(a_str_mod, "redeemer"))
|
||||
{
|
||||
if (!instakill)
|
||||
a_str_mod[a_str_mod.size] = "explosive";
|
||||
else
|
||||
a_str_mod[a_str_mod.size] = "weapon_instakill";
|
||||
}
|
||||
}
|
||||
|
||||
if (weapon == "ray_gun_zm" || weapon == "ray_gun_upgraded_zm")
|
||||
{
|
||||
if (dist > far_dist)
|
||||
{
|
||||
if (!instakill)
|
||||
a_str_mod[a_str_mod.size] = "raygun";
|
||||
else
|
||||
a_str_mod[a_str_mod.size] = "weapon_instakill";
|
||||
}
|
||||
}
|
||||
|
||||
if (instakill)
|
||||
{
|
||||
if (mod == "MOD_MELEE")
|
||||
a_str_mod[a_str_mod.size] = "melee_instakill";
|
||||
else
|
||||
a_str_mod[a_str_mod.size] = "weapon_instakill";
|
||||
}
|
||||
|
||||
if (mod != "MOD_MELEE" && !zombie.has_legs)
|
||||
a_str_mod[a_str_mod.size] = "crawler";
|
||||
|
||||
if (mod != "MOD_BURNED" && dist < close_dist)
|
||||
a_str_mod[a_str_mod.size] = "closekill";
|
||||
|
||||
if (a_str_mod.size == 0)
|
||||
str_mod_final = "default";
|
||||
else if (a_str_mod.size == 1)
|
||||
str_mod_final = a_str_mod[0];
|
||||
else
|
||||
{
|
||||
for (i = 0; i < a_str_mod.size; i++)
|
||||
{
|
||||
if (cointoss())
|
||||
str_mod_final = a_str_mod[i];
|
||||
}
|
||||
|
||||
str_mod_final = a_str_mod[randomint(a_str_mod.size)];
|
||||
}
|
||||
|
||||
if (str_mod_final == "wolf_kill")
|
||||
player thread wolf_kill_cooldown_watcher(zombie.my_soul_catcher);
|
||||
|
||||
return str_mod_final;
|
||||
}
|
||||
|
||||
check_solo_status()
|
||||
{
|
||||
level.is_forever_solo_game = 0;
|
||||
|
@ -51,6 +51,7 @@ entityspawned_alcatraz(localclientnum)
|
||||
break;
|
||||
|
||||
case "blundersplat_explosive_dart_zm":
|
||||
case "blundersplat_explosive_dart_upgraded_zm":
|
||||
self thread clientscripts\mp\zombies\_zm_weap_blundersplat::spawned(localclientnum);
|
||||
break;
|
||||
}
|
||||
|
@ -123,4 +123,34 @@ thrust_the_spork()
|
||||
self setclientfieldtoplayer("spoon_visual_state", 3);
|
||||
wait 1.0;
|
||||
self thread do_player_general_vox("quest", "pick_up_easter_egg");
|
||||
}
|
||||
|
||||
extra_death_func_to_check_for_splat_death()
|
||||
{
|
||||
self thread maps\mp\zombies\_zm_spawner::zombie_death_animscript();
|
||||
|
||||
if (self.damagemod == "MOD_GRENADE" || self.damagemod == "MOD_GRENADE_SPLASH")
|
||||
{
|
||||
if (self.damageweapon == "blundersplat_explosive_dart_zm" || self.damageweapon == "blundersplat_explosive_dart_upgraded_zm")
|
||||
{
|
||||
if (isplayer(self.attacker))
|
||||
self notify("killed_by_a_blundersplat", self.attacker);
|
||||
}
|
||||
else if (self.damageweapon == "bouncing_tomahawk_zm")
|
||||
{
|
||||
if (isplayer(self.attacker))
|
||||
self.attacker notify("got_a_tomahawk_kill");
|
||||
}
|
||||
}
|
||||
|
||||
if (isdefined(self.attacker.killed_with_only_tomahawk))
|
||||
{
|
||||
if (self.damageweapon != "bouncing_tomahawk_zm" && self.damageweapon != "none")
|
||||
self.attacker.killed_with_only_tomahawk = 0;
|
||||
}
|
||||
|
||||
if (isdefined(self.attacker.killed_something_thq))
|
||||
self.attacker.killed_something_thq = 1;
|
||||
|
||||
return false;
|
||||
}
|
@ -12,6 +12,7 @@ main()
|
||||
replaceFunc(maps\mp\zm_alcatraz_craftables::include_craftables, scripts\zm\replaced\zm_alcatraz_craftables::include_craftables);
|
||||
replaceFunc(maps\mp\zm_alcatraz_gamemodes::init, scripts\zm\replaced\zm_alcatraz_gamemodes::init);
|
||||
replaceFunc(maps\mp\zm_alcatraz_utility::blundergat_upgrade_station, scripts\zm\replaced\zm_alcatraz_utility::blundergat_upgrade_station);
|
||||
replaceFunc(maps\mp\zm_alcatraz_utility::alcatraz_audio_get_mod_type_override, scripts\zm\replaced\zm_alcatraz_utility::alcatraz_audio_get_mod_type_override);
|
||||
replaceFunc(maps\mp\zm_alcatraz_utility::check_solo_status, scripts\zm\replaced\zm_alcatraz_utility::check_solo_status);
|
||||
replaceFunc(maps\mp\zm_alcatraz_sq::start_alcatraz_sidequest, scripts\zm\replaced\zm_alcatraz_sq::start_alcatraz_sidequest);
|
||||
replaceFunc(maps\mp\zm_alcatraz_sq::dryer_zombies_thread, scripts\zm\replaced\zm_alcatraz_sq::dryer_zombies_thread);
|
||||
@ -31,6 +32,7 @@ main()
|
||||
replaceFunc(maps\mp\zm_prison_spoon::init, scripts\zm\replaced\zm_prison_spoon::init);
|
||||
replaceFunc(maps\mp\zm_prison_spoon::give_player_spoon_upon_receipt, scripts\zm\replaced\zm_prison_spoon::give_player_spoon_upon_receipt);
|
||||
replaceFunc(maps\mp\zm_prison_spoon::dip_the_spoon, scripts\zm\replaced\zm_prison_spoon::dip_the_spoon);
|
||||
replaceFunc(maps\mp\zm_prison_spoon::extra_death_func_to_check_for_splat_death, scripts\zm\replaced\zm_prison_spoon::extra_death_func_to_check_for_splat_death);
|
||||
replaceFunc(maps\mp\zm_prison_sq_bg::give_sq_bg_reward, scripts\zm\replaced\zm_prison_sq_bg::give_sq_bg_reward);
|
||||
replaceFunc(maps\mp\zm_prison_sq_final::stage_one, scripts\zm\replaced\zm_prison_sq_final::stage_one);
|
||||
replaceFunc(maps\mp\zm_prison_sq_final::final_flight_trigger, scripts\zm\replaced\zm_prison_sq_final::final_flight_trigger);
|
||||
@ -55,6 +57,7 @@ main()
|
||||
replaceFunc(maps\mp\zombies\_zm_riotshield_prison::trackriotshield, scripts\zm\replaced\_zm_riotshield_prison::trackriotshield);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_riotshield_prison::init, scripts\zm\replaced\_zm_weap_riotshield_prison::init);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_riotshield_prison::player_damage_shield, scripts\zm\replaced\_zm_weap_riotshield_prison::player_damage_shield);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_blundersplat::init, scripts\zm\replaced\_zm_weap_blundersplat::init);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_blundersplat::wait_for_blundersplat_fired, scripts\zm\replaced\_zm_weap_blundersplat::wait_for_blundersplat_fired);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_blundersplat::wait_for_blundersplat_upgraded_fired, scripts\zm\replaced\_zm_weap_blundersplat::wait_for_blundersplat_upgraded_fired);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_blundersplat::_titus_target_animate_and_die, scripts\zm\replaced\_zm_weap_blundersplat::_titus_target_animate_and_die);
|
||||
|
Reference in New Issue
Block a user