mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 07:08:06 -05:00
Meat: meat throw changes
This commit is contained in:
@ -522,8 +522,10 @@
|
||||
#### Meat
|
||||
* Gain score by being the team holding the meat
|
||||
* Gain 250 score to win the game
|
||||
* Meat always spawns from first zombie killed
|
||||
* Meat powerup always spawns from the first zombie killed
|
||||
* All zombies go after player holding meat
|
||||
* Throwing the meat on the ground makes it a grabbable powerup
|
||||
* Throwing the meat onto another player makes them hold the meat
|
||||
* Player holding the meat gains 100 points when their team gains score
|
||||
* Players respawn after being down for 10 seconds
|
||||
* Players retain perks
|
||||
|
@ -20,6 +20,12 @@ game_mode_spawn_player_logic()
|
||||
|
||||
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 );
|
||||
return;
|
||||
}
|
||||
|
||||
level.meat_on_ground = 1;
|
||||
attractor_point = spawn( "script_model", position_to_play );
|
||||
attractor_point setmodel( "tag_origin" );
|
||||
@ -40,6 +46,13 @@ meat_stink_player( who )
|
||||
{
|
||||
level notify( "new_meat_stink_player" );
|
||||
level endon( "new_meat_stink_player" );
|
||||
|
||||
if(level.scr_zm_ui_gametype_obj == "zmeat")
|
||||
{
|
||||
level thread [[level.zgrief_meat_stink]](who);
|
||||
return;
|
||||
}
|
||||
|
||||
who.ignoreme = 0;
|
||||
players = get_players();
|
||||
foreach ( player in players )
|
||||
|
@ -61,6 +61,8 @@ init()
|
||||
meat_init();
|
||||
}
|
||||
|
||||
level._powerup_grab_check = ::meat_can_player_grab;
|
||||
|
||||
level thread round_start_wait(5, true);
|
||||
level thread remove_round_number();
|
||||
level thread unlimited_zombies();
|
||||
@ -2811,15 +2813,26 @@ meat_powerup_drop_think()
|
||||
|
||||
while(1)
|
||||
{
|
||||
level.zombie_powerup_ape = "meat_stink";
|
||||
level.zombie_vars["zombie_drop_item"] = 1;
|
||||
|
||||
level waittill( "powerup_dropped", powerup );
|
||||
|
||||
if (powerup.powerup_name != "meat_stink")
|
||||
powerup = undefined;
|
||||
if (isDefined(level.new_meat_powerup))
|
||||
{
|
||||
continue;
|
||||
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 waittill( "powerup_dropped", powerup );
|
||||
|
||||
if (powerup.powerup_name != "meat_stink")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
level thread meat_powerup_dropped_check();
|
||||
|
||||
meat_active = true;
|
||||
while (meat_active)
|
||||
@ -2842,6 +2855,23 @@ meat_powerup_drop_think()
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3035,6 +3065,19 @@ meat_waypoint_init()
|
||||
return meat_waypoint;
|
||||
}
|
||||
|
||||
meat_can_player_grab(player)
|
||||
{
|
||||
if (self.powerup_name == "meat_stink")
|
||||
{
|
||||
if (player hasWeapon("item_meat_zm") || is_true(player.dont_touch_the_meat))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
increment_score(team)
|
||||
{
|
||||
level endon("end_game");
|
||||
|
@ -34,7 +34,9 @@ init()
|
||||
level.special_weapon_magicbox_check = ::buried_special_weapon_magicbox_check;
|
||||
level._is_player_in_zombie_stink = maps\mp\zombies\_zm_perk_vulture::_is_player_in_zombie_stink;
|
||||
level._zm_buildables_pooled_swap_buildable_fields = maps\mp\zombies\_zm_buildables_pooled::swap_buildable_fields;
|
||||
level.zgrief_meat_stink = maps\mp\gametypes_zm\zgrief::meat_stink;
|
||||
level.zgrief_meat_stink_player_create = maps\mp\gametypes_zm\zgrief::meat_stink_player_create;
|
||||
level.zgrief_meat_stink_player_cleanup = maps\mp\gametypes_zm\zgrief::meat_stink_player_cleanup;
|
||||
level.zmeat_create_item_meat_watcher = maps\mp\gametypes_zm\zmeat::create_item_meat_watcher;
|
||||
|
||||
if(is_gametype_active("zgrief"))
|
||||
|
@ -28,7 +28,9 @@ init()
|
||||
level.zombie_init_done = ::zombie_init_done;
|
||||
level.special_weapon_magicbox_check = ::check_for_special_weapon_limit_exist;
|
||||
level.round_prestart_func = scripts\zm\replaced\_zm_afterlife::afterlife_start_zombie_logic;
|
||||
level.zgrief_meat_stink = maps\mp\gametypes_zm\zgrief::meat_stink;
|
||||
level.zgrief_meat_stink_player_create = maps\mp\gametypes_zm\zgrief::meat_stink_player_create;
|
||||
level.zgrief_meat_stink_player_cleanup = maps\mp\gametypes_zm\zgrief::meat_stink_player_cleanup;
|
||||
level.zmeat_create_item_meat_watcher = maps\mp\gametypes_zm\zmeat::create_item_meat_watcher;
|
||||
|
||||
remove_acid_trap_player_spawn();
|
||||
|
@ -46,6 +46,7 @@ init()
|
||||
level.zombie_init_done = ::zombie_init_done;
|
||||
level.special_weapon_magicbox_check = ::transit_special_weapon_magicbox_check;
|
||||
level.grenade_safe_to_bounce = ::grenade_safe_to_bounce;
|
||||
level.zgrief_meat_stink = maps\mp\gametypes_zm\zgrief::meat_stink;
|
||||
level.zgrief_meat_stink_player_create = maps\mp\gametypes_zm\zgrief::meat_stink_player_create;
|
||||
level.zgrief_meat_stink_player_cleanup = maps\mp\gametypes_zm\zgrief::meat_stink_player_cleanup;
|
||||
level.zmeat_create_item_meat_watcher = maps\mp\gametypes_zm\zmeat::create_item_meat_watcher;
|
||||
|
Reference in New Issue
Block a user