mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-12 08:08:00 -05:00
Meat powerup: thrower can meat themself
This commit is contained in:
@ -302,6 +302,7 @@
|
|||||||
### Meat
|
### Meat
|
||||||
* All zombies go after player holding the meat
|
* All zombies go after player holding the meat
|
||||||
* 60% move speed while holding the meat
|
* 60% move speed while holding the meat
|
||||||
|
* Player who threw the meat can meat themself
|
||||||
* Decreased time on ground from 16 seconds to 10 seconds
|
* Decreased time on ground from 16 seconds to 10 seconds
|
||||||
* Bounces off walls when thrown
|
* Bounces off walls when thrown
|
||||||
* Able to drop when players are down
|
* Able to drop when players are down
|
||||||
|
@ -20,22 +20,19 @@ game_mode_spawn_player_logic()
|
|||||||
|
|
||||||
meat_bounce_override( pos, normal, ent, bounce )
|
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 ) )
|
if ( isdefined( self.owner ) )
|
||||||
{
|
{
|
||||||
maps\mp\_demo::bookmark( "zm_player_meat_stink", gettime(), ent, self.owner, 0, self );
|
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.owner maps\mp\zombies\_zm_stats::increment_client_stat( "contaminations_given" );
|
||||||
}
|
}
|
||||||
|
|
||||||
self delete();
|
self delete();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -45,12 +42,15 @@ meat_bounce_override( pos, normal, ent, bounce )
|
|||||||
|
|
||||||
foreach (player in players)
|
foreach (player in players)
|
||||||
{
|
{
|
||||||
if ( self.owner == player )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if ( !is_player_valid(player) )
|
if ( !is_player_valid(player) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if ( player hasWeapon("item_meat_zm") )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ( is_true(player.dont_touch_the_meat) )
|
||||||
|
continue;
|
||||||
|
|
||||||
distsq = distancesquared( pos, player.origin );
|
distsq = distancesquared( pos, player.origin );
|
||||||
|
|
||||||
if ( distsq < closest_player_dist )
|
if ( distsq < closest_player_dist )
|
||||||
@ -74,10 +74,10 @@ meat_bounce_override( pos, normal, ent, bounce )
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
playfx( level._effect["meat_impact"], self.origin );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
playfx( level._effect["meat_impact"], self.origin );
|
||||||
|
|
||||||
if (is_true(bounce))
|
if (is_true(bounce))
|
||||||
{
|
{
|
||||||
landed_on = self getgroundent();
|
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();
|
level.meat_powerup = maps\mp\zombies\_zm_powerups::specific_powerup_drop( "meat_stink", self.origin );
|
||||||
|
|
||||||
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 );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
level notify("meat_inactive");
|
level thread meat_stink_on_ground( self.origin );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
level notify("meat_inactive");
|
||||||
|
}
|
||||||
|
|
||||||
self delete();
|
self delete();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user