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")
{
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;
}

View File

@ -2813,26 +2813,17 @@ meat_powerup_drop_think()
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_vars["zombie_drop_item"] = 1;
level.zombie_powerup_ape = "meat_stink";
level.zombie_vars["zombie_drop_item"] = 1;
level waittill( "powerup_dropped", powerup );
level waittill( "powerup_dropped", powerup );
if (powerup.powerup_name != "meat_stink")
{
continue;
}
if (powerup.powerup_name != "meat_stink")
{
continue;
}
level thread meat_powerup_dropped_check();
level.meat_powerup = powerup;
meat_active = true;
while (meat_active)
@ -2886,16 +2877,16 @@ meat_powerup_drop_think()
if (!meat_active)
{
if (isDefined(powerup))
if (isDefined(level.meat_powerup))
{
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) );
powerup.meat_waypoint_origin setmodel( "tag_origin" );
level.meat_powerup.meat_waypoint_origin = spawn( "script_model", level.meat_powerup.origin + (0, 0, 32) );
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();
@ -2908,39 +2899,16 @@ meat_powerup_drop_think()
player.meat_waypoint.alpha = 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");
}
}
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()
{
self waittill("death");
@ -3143,7 +3111,7 @@ meat_powerup_drop_on_downed()
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) );
}
}