1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 15:17:57 -05:00

Melee weapons: fix missing checks for held weapon

This commit is contained in:
Jbleezy
2023-12-22 15:41:48 -08:00
parent 48a2f54898
commit 66f68fabc9
5 changed files with 76 additions and 2 deletions

View File

@ -1310,7 +1310,7 @@ actor_damage_override(inflictor, attacker, damage, flags, meansofdeath, weapon,
return damage;
}
if (weapon == "tazer_knuckles_zm" || weapon == "jetgun_zm")
if (issubstr(weapon, "tazer_knuckles_zm") || weapon == "jetgun_zm")
{
self.knuckles_extinguish_flames = 1;
}

View File

@ -193,4 +193,61 @@ cloud_update_fx()
wait 0.1;
}
}
avogadro_damage_func( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime, boneindex )
{
if ( self.state == "exiting" || self.state == "phasing" )
{
return false;
}
if ( smeansofdeath == "MOD_MELEE" )
{
if ( isplayer( einflictor ) )
{
if ( self.shield )
{
einflictor.avogadro_melee_time = gettime();
maps\mp\_visionset_mgr::vsmgr_activate( "overlay", "zm_ai_avogadro_electrified", einflictor, 0.25, 1 );
einflictor shellshock( "electrocution", 0.25 );
einflictor notify( "avogadro_damage_taken" );
}
if ( sweapon == "riotshield_zm" )
{
shield_damage = level.zombie_vars["riotshield_fling_damage_shield"];
einflictor maps\mp\zombies\_zm_weap_riotshield::player_damage_shield( shield_damage, 0 );
}
}
if ( !self.shield )
{
self.shield = 1;
self notify( "melee_pain" );
if ( issubstr( sweapon, "tazer_knuckles_zm" ) )
{
self.hit_by_melee += 2;
}
else
{
self.hit_by_melee++;
}
self thread avogadro_pain( einflictor );
if ( isplayer( einflictor ) )
{
einflictor thread do_player_general_vox( "general", "avogadro_wound", 30, 35 );
level notify( "avogadro_stabbed", self );
}
}
}
else
{
self update_damage_absorbed( idamage );
}
return false;
}

View File

@ -41,4 +41,20 @@ ts_sign_check_all_activated(e_attacker, m_last_touched)
level.e_sq_sign_attacker = e_attacker;
level notify("sq_sign_damaged");
}
}
ts_is_bowie_knife( str_weapon )
{
if ( str_weapon == "knife_ballistic_bowie_zm" || str_weapon == "knife_ballistic_bowie_upgraded_zm" || issubstr( str_weapon, "bowie_knife_zm" ) )
return true;
return false;
}
ts_is_galvaknuckles( str_weapon )
{
if ( issubstr( str_weapon, "tazer_knuckles_zm" ) )
return true;
return false;
}

View File

@ -136,7 +136,7 @@ tower_punch_watch_leg(a_leg_trigs)
{
self waittill("trigger", who);
if (!isinarray(level.legs_hit, self.script_noteworthy) && isplayer(who) && (who.current_melee_weapon == "tazer_knuckles_zm" || who.current_melee_weapon == "tazer_knuckles_upgraded_zm"))
if (!isinarray(level.legs_hit, self.script_noteworthy) && isplayer(who) && (issubstr(who.current_melee_weapon, "tazer_knuckles_zm") || issubstr(who.current_melee_weapon, "tazer_knuckles_upgraded_zm")))
{
level.legs_hit[level.legs_hit.size] = self.script_noteworthy;
self playsound("zmb_sq_leg_powerup_" + level.legs_hit.size);

View File

@ -26,6 +26,7 @@ main()
replaceFunc(maps\mp\zm_transit_lava::zombie_exploding_death, scripts\zm\replaced\zm_transit_lava::zombie_exploding_death);
replaceFunc(maps\mp\zombies\_zm_ai_avogadro::check_range_attack, scripts\zm\replaced\_zm_ai_avogadro::check_range_attack);
replaceFunc(maps\mp\zombies\_zm_ai_avogadro::avogadro_exit, scripts\zm\replaced\_zm_ai_avogadro::avogadro_exit);
replaceFunc(maps\mp\zombies\_zm_ai_avogadro::avogadro_damage_func, scripts\zm\replaced\_zm_ai_avogadro::avogadro_damage_func);
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_spawning_logic, scripts\zm\replaced\_zm_ai_screecher::screecher_spawning_logic);
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_melee_damage, scripts\zm\replaced\_zm_ai_screecher::screecher_melee_damage);
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_detach, scripts\zm\replaced\_zm_ai_screecher::screecher_detach);