1
0
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:
Jbleezy
2024-04-18 01:25:36 -07:00
parent 4789abb6ef
commit 674ca8713e
10 changed files with 178 additions and 5 deletions

View File

@ -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))

View File

@ -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"))
{

View File

@ -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;
}

View File

@ -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;

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);