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

Meat powerup: thrower can meat themself

This commit is contained in:
Jbleezy
2023-03-12 01:06:40 -08:00
parent 251e1974e2
commit 5e9cbcceec
2 changed files with 29 additions and 32 deletions

View File

@ -20,22 +20,19 @@ game_mode_spawn_player_logic()
meat_bounce_override( pos, normal, ent, bounce )
{
if ( isdefined( ent ) && isplayer( ent ) )
if ( isdefined( ent ) && isplayer( ent ) && is_player_valid(ent) && !ent hasWeapon("item_meat_zm") && !is_true(ent.dont_touch_the_meat) )
{
if ( is_player_valid(ent) )
{
level thread meat_stink_player( ent );
level thread meat_stink_player( ent );
if ( isdefined( self.owner ) )
{
maps\mp\_demo::bookmark( "zm_player_meat_stink", gettime(), ent, self.owner, 0, self );
self.owner maps\mp\zombies\_zm_stats::increment_client_stat( "contaminations_given" );
}
if ( isdefined( self.owner ) )
{
maps\mp\_demo::bookmark( "zm_player_meat_stink", gettime(), ent, self.owner, 0, self );
self.owner maps\mp\zombies\_zm_stats::increment_client_stat( "contaminations_given" );
}
self delete();
self delete();
return;
}
return;
}
else
{
@ -45,12 +42,15 @@ meat_bounce_override( pos, normal, ent, bounce )
foreach (player in players)
{
if ( self.owner == player )
continue;
if ( !is_player_valid(player) )
continue;
if ( player hasWeapon("item_meat_zm") )
continue;
if ( is_true(player.dont_touch_the_meat) )
continue;
distsq = distancesquared( pos, player.origin );
if ( distsq < closest_player_dist )
@ -74,10 +74,10 @@ meat_bounce_override( pos, normal, ent, bounce )
return;
}
playfx( level._effect["meat_impact"], self.origin );
}
playfx( level._effect["meat_impact"], self.origin );
if (is_true(bounce))
{
landed_on = self getgroundent();
@ -88,29 +88,25 @@ meat_bounce_override( pos, normal, ent, bounce )
}
}
if (!isDefined(level.meat_powerup) && !isDefined(level.meat_player))
valid_poi = check_point_in_enabled_zone( pos, undefined, undefined );
if ( valid_poi )
{
valid_poi = check_point_in_enabled_zone( pos, undefined, undefined );
self hide();
if ( valid_poi )
if (level.scr_zm_ui_gametype_obj == "zmeat")
{
self hide();
if (level.scr_zm_ui_gametype_obj == "zmeat")
{
level notify("meat_powerup_drop");
level.meat_powerup = maps\mp\zombies\_zm_powerups::specific_powerup_drop( "meat_stink", self.origin );
}
else
{
level thread meat_stink_on_ground( self.origin );
}
level.meat_powerup = maps\mp\zombies\_zm_powerups::specific_powerup_drop( "meat_stink", self.origin );
}
else
{
level notify("meat_inactive");
level thread meat_stink_on_ground( self.origin );
}
}
else
{
level notify("meat_inactive");
}
self delete();
}