1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-07 21:59:49 -05:00
BO2-Reimagined/scripts/zm/replaced/_zm_game_module_meat_utility.gsc
2024-01-14 15:30:45 -08:00

70 lines
2.1 KiB
Plaintext

#include maps\mp\zombies\_zm_game_module_meat_utility;
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_game_module_utility;
#include maps\mp\zombies\_zm_laststand;
#include maps\mp\zombies\_zm_audio_announcer;
#include maps\mp\gametypes_zm\zmeat;
#include maps\mp\zombies\_zm_powerups;
init_item_meat(gametype)
{
if (getdvar("mapname") == "zm_prison")
{
set_gamemode_var_once("item_meat_name", "item_head_zm");
set_gamemode_var_once("item_meat_model", "t6_wpn_zmb_severedhead_world");
}
else
{
set_gamemode_var_once("item_meat_name", "item_meat_zm");
set_gamemode_var_once("item_meat_model", "t6_wpn_zmb_meat_world");
}
level._effect["meat_impact"] = loadfx("maps/zombie/fx_zmb_meat_impact");
level._effect["spawn_cloud"] = loadfx("maps/zombie/fx_zmb_race_zombie_spawn_cloud");
level._effect["meat_stink_camera"] = loadfx("maps/zombie/fx_zmb_meat_stink_camera");
level._effect["meat_stink_torso"] = loadfx("maps/zombie/fx_zmb_meat_stink_torso");
include_powerup("meat_stink");
maps\mp\zombies\_zm_powerups::add_zombie_powerup("meat_stink", get_gamemode_var("item_meat_model"), &"ZOMBIE_POWERUP_MAX_AMMO", ::func_should_drop_meat, 1, 0, 0);
precacheitem(get_gamemode_var("item_meat_name"));
set_gamemode_var_once("start_item_meat_name", get_gamemode_var("item_meat_name"));
level.meat_weaponidx = getweaponindexfromname(get_gamemode_var("item_meat_name"));
level.meat_pickupsound = getweaponpickupsound(level.meat_weaponidx);
level.meat_pickupsoundplayer = getweaponpickupsoundplayer(level.meat_weaponidx);
level.item_meat_name = get_gamemode_var("item_meat_name");
}
func_should_drop_meat()
{
if (level.scr_zm_ui_gametype_obj == "zmeat")
{
return 0;
}
foreach (powerup in level.active_powerups)
{
if (powerup.powerup_name == "meat_stink")
{
return 0;
}
}
players = get_players();
foreach (player in players)
{
if (player hasWeapon(level.item_meat_name))
{
return 0;
}
}
if (isDefined(level.item_meat) || is_true(level.meat_on_ground) || isDefined(level.meat_player))
{
return 0;
}
return 1;
}