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

Remove grenade shellshock

This commit is contained in:
Jbleezy
2022-01-08 05:54:49 -08:00
parent 4bb65f1aec
commit 437e23f83a
3 changed files with 75 additions and 0 deletions

View File

@ -188,6 +188,7 @@ post_all_players_spawned()
level.playersuicideallowed = undefined;
level.disable_free_perks_before_power = undefined;
level.custom_random_perk_weights = undefined;
level.callbackplayerdamage = scripts/zm/replaced/_zm::callback_playerdamage;
level.etrap_damage = maps/mp/zombies/_zm::ai_zombie_health( 255 );
level.slipgun_damage = maps/mp/zombies/_zm::ai_zombie_health( 255 );
level.tombstone_spawn_func = ::tombstone_spawn;

View File

@ -160,6 +160,79 @@ actor_damage_override( inflictor, attacker, damage, flags, meansofdeath, weapon,
return int( final_damage );
}
callback_playerdamage( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime, boneindex )
{
if ( isDefined( eattacker ) && isplayer( eattacker ) && eattacker.sessionteam == self.sessionteam && !eattacker hasperk( "specialty_noname" ) && isDefined( self.is_zombie ) && !self.is_zombie )
{
self maps/mp/zombies/_zm::process_friendly_fire_callbacks( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime, boneindex );
if ( self != eattacker )
{
return;
}
else if ( smeansofdeath != "MOD_GRENADE_SPLASH" && smeansofdeath != "MOD_GRENADE" && smeansofdeath != "MOD_EXPLOSIVE" && smeansofdeath != "MOD_PROJECTILE" && smeansofdeath != "MOD_PROJECTILE_SPLASH" && smeansofdeath != "MOD_BURNED" && smeansofdeath != "MOD_SUICIDE" )
{
return;
}
}
if ( is_true( level.pers_upgrade_insta_kill ) )
{
self maps/mp/zombies/_zm_pers_upgrades_functions::pers_insta_kill_melee_swipe( smeansofdeath, eattacker );
}
if ( isDefined( self.overrideplayerdamage ) )
{
idamage = self [[ self.overrideplayerdamage ]]( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime );
}
else if ( isDefined( level.overrideplayerdamage ) )
{
idamage = self [[ level.overrideplayerdamage ]]( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime );
}
if ( is_true( self.magic_bullet_shield ) )
{
maxhealth = self.maxhealth;
self.health += idamage;
self.maxhealth = maxhealth;
}
if ( isDefined( self.divetoprone ) && self.divetoprone == 1 )
{
if ( smeansofdeath == "MOD_GRENADE_SPLASH" )
{
dist = distance2d( vpoint, self.origin );
if ( dist > 32 )
{
dot_product = vectordot( anglesToForward( self.angles ), vdir );
if ( dot_product > 0 )
{
idamage = int( idamage * 0.5 );
}
}
}
}
if ( isDefined( level.prevent_player_damage ) )
{
if ( self [[ level.prevent_player_damage ]]( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime ) )
{
return;
}
}
idflags |= level.idflags_no_knockback;
if ( idamage > 0 && shitloc == "riotshield" )
{
shitloc = "torso_upper";
}
// remove grenade shellshock
if(smeansofdeath == "MOD_GRENADE")
{
smeansofdeath = "MOD_PROJECTILE";
}
else if(smeansofdeath == "MOD_GRENADE_SPLASH")
{
smeansofdeath = "MOD_PROJECTILE_SPLASH";
}
self maps/mp/zombies/_zm::finishplayerdamagewrapper( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, psoffsettime, boneindex );
}
getfreespawnpoint( spawnpoints, player )
{
if ( !isDefined( spawnpoints ) )