1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-18 02:58:13 -05:00

Meat: fix multiple meat powerups spawning

Meat: spawn powerup at groundpos
This commit is contained in:
Jbleezy
2023-02-26 02:30:32 -08:00
parent 7eccc0775f
commit aef0784031
2 changed files with 15 additions and 47 deletions

View File

@ -22,7 +22,7 @@ meat_stink_on_ground(position_to_play)
{ {
if(level.scr_zm_ui_gametype_obj == "zmeat") if(level.scr_zm_ui_gametype_obj == "zmeat")
{ {
maps\mp\zombies\_zm_powerups::specific_powerup_drop( "meat_stink", position_to_play ); level.meat_powerup = maps\mp\zombies\_zm_powerups::specific_powerup_drop( "meat_stink", groundpos(position_to_play) );
return; return;
} }

View File

@ -2812,14 +2812,6 @@ meat_powerup_drop_think()
level endon("end_game"); level endon("end_game");
while(1) while(1)
{
powerup = undefined;
if (isDefined(level.new_meat_powerup))
{
powerup = level.new_meat_powerup;
level.new_meat_powerup = undefined;
}
else
{ {
level.zombie_powerup_ape = "meat_stink"; level.zombie_powerup_ape = "meat_stink";
level.zombie_vars["zombie_drop_item"] = 1; level.zombie_vars["zombie_drop_item"] = 1;
@ -2830,9 +2822,8 @@ meat_powerup_drop_think()
{ {
continue; continue;
} }
}
level thread meat_powerup_dropped_check(); level.meat_powerup = powerup;
meat_active = true; meat_active = true;
while (meat_active) while (meat_active)
@ -2886,16 +2877,16 @@ meat_powerup_drop_think()
if (!meat_active) if (!meat_active)
{ {
if (isDefined(powerup)) if (isDefined(level.meat_powerup))
{ {
meat_active = true; meat_active = true;
if (!isDefined(powerup.meat_waypoint_origin)) if (!isDefined(level.meat_powerup.meat_waypoint_origin))
{ {
powerup.meat_waypoint_origin = spawn( "script_model", powerup.origin + (0, 0, 32) ); level.meat_powerup.meat_waypoint_origin = spawn( "script_model", level.meat_powerup.origin + (0, 0, 32) );
powerup.meat_waypoint_origin setmodel( "tag_origin" ); level.meat_powerup.meat_waypoint_origin setmodel( "tag_origin" );
powerup thread meat_waypoint_origin_destroy_on_death(); level.meat_powerup thread meat_waypoint_origin_destroy_on_death();
} }
players = get_players(); players = get_players();
@ -2908,39 +2899,16 @@ meat_powerup_drop_think()
player.meat_waypoint.alpha = 1; player.meat_waypoint.alpha = 1;
player.meat_waypoint.color = (1, 1, 1); player.meat_waypoint.color = (1, 1, 1);
player.meat_waypoint setTargetEnt(powerup.meat_waypoint_origin); player.meat_waypoint setTargetEnt(level.meat_powerup.meat_waypoint_origin);
} }
} }
} }
if (!meat_active)
{
if (is_true(level.meat_on_ground))
{
meat_active = true;
}
}
} }
level notify("meat_inactive"); level notify("meat_inactive");
} }
} }
meat_powerup_dropped_check()
{
level endon("meat_inactive");
while(1)
{
level waittill( "powerup_dropped", powerup );
if (powerup == "meat_stink")
{
level.new_meat_powerup = powerup;
}
}
}
meat_waypoint_origin_destroy_on_death() meat_waypoint_origin_destroy_on_death()
{ {
self waittill("death"); self waittill("death");
@ -3143,7 +3111,7 @@ meat_powerup_drop_on_downed()
if (valid_drop) if (valid_drop)
{ {
maps\mp\zombies\_zm_powerups::specific_powerup_drop( "meat_stink", self.origin ); level.meat_powerup = maps\mp\zombies\_zm_powerups::specific_powerup_drop( "meat_stink", groundpos(self.origin) );
} }
} }