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_buried_sq.gsc
2024-03-15 21:59:38 -07:00

141 lines
4.1 KiB
Plaintext

#include maps\mp\zm_buried_sq;
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_sidequests;
#include maps\mp\_visionset_mgr;
#include maps\mp\zm_buried_sq_bt;
#include maps\mp\zm_buried_sq_mta;
#include maps\mp\zm_buried_sq_gl;
#include maps\mp\zm_buried_sq_ftl;
#include maps\mp\zm_buried_sq_ll;
#include maps\mp\zm_buried_sq_ts;
#include maps\mp\zm_buried_sq_ctw;
#include maps\mp\zm_buried_sq_tpo;
#include maps\mp\zm_buried_sq_ip;
#include maps\mp\zm_buried_sq_ows;
#include maps\mp\gametypes_zm\_globallogic_score;
#include maps\mp\zombies\_zm_stats;
#include maps\mp\zombies\_zm_buildables;
#include maps\mp\zombies\_zm_audio;
#include maps\mp\zombies\_zm_perks;
#include maps\mp\zombies\_zm_unitrigger;
#include maps\mp\zm_buried_amb;
#include maps\mp\zombies\_zm_powerups;
#include maps\mp\zombies\_zm_spawner;
#include maps\mp\zombies\_zm_score;
sq_metagame()
{
level endon("sq_metagame_player_connected");
if (!is_true(level.buried_sq_maxis_complete) && !is_true(level.buried_sq_richtofen_complete))
level waittill("buried_sidequest_achieved");
m_endgame_machine = getstruct("sq_endgame_machine", "targetname");
a_stat = [];
a_stat[0] = "sq_transit_last_completed";
a_stat[1] = "sq_highrise_last_completed";
a_stat[2] = "sq_buried_last_completed";
level.n_metagame_machine_lights_on = 0;
flag_wait("start_zombie_round_logic");
sq_metagame_clear_lights();
players = get_players();
player_count = players.size;
for (n_player = 0; n_player < player_count; n_player++)
{
for (n_stat = 0; n_stat < a_stat.size; n_stat++)
{
if (flag("sq_is_max_tower_built"))
{
m_endgame_machine sq_metagame_machine_set_light(n_player, n_stat, "sq_bulb_orange");
}
else
{
m_endgame_machine sq_metagame_machine_set_light(n_player, n_stat, "sq_bulb_blue");
}
level setclientfield("buried_sq_egm_bulb_" + n_stat, 1);
}
}
m_endgame_machine.activate_trig = spawn("trigger_radius", m_endgame_machine.origin, 0, 128, 72);
m_endgame_machine.activate_trig waittill("trigger");
m_endgame_machine.activate_trig delete();
m_endgame_machine.activate_trig = undefined;
level setclientfield("buried_sq_egm_animate", 1);
m_endgame_machine.endgame_trig = spawn("trigger_radius_use", m_endgame_machine.origin, 0, 16, 16);
m_endgame_machine.endgame_trig setcursorhint("HINT_NOICON");
m_endgame_machine.endgame_trig sethintstring(&"ZM_BURIED_SQ_EGM_BUT");
m_endgame_machine.endgame_trig triggerignoreteam();
m_endgame_machine.endgame_trig usetriggerrequirelookat();
m_endgame_machine.endgame_trig waittill("trigger");
m_endgame_machine.endgame_trig delete();
m_endgame_machine.endgame_trig = undefined;
level thread sq_metagame_clear_tower_pieces();
playsoundatposition("zmb_endgame_mach_button", m_endgame_machine.origin);
players = get_players();
sq_metagame_clear_lights();
if (flag("sq_is_max_tower_built"))
level notify("end_game_reward_starts_maxis");
else
level notify("end_game_reward_starts_richtofen");
}
make_richtofen_zombie()
{
self endon("death");
level.sq_richtofen_zombie.spawned = 1;
self setclientfield("buried_sq_maxis_ending_update_eyeball_color", 1);
self thread richtofen_zombie_watch_death();
self waittill("completed_emerging_into_playable_area");
self thread richtofen_zombie_vo_watcher();
self.deathfunction_old = self.deathfunction;
self.deathfunction = ::richtofen_zombie_deathfunction_override;
}
richtofen_zombie_deathfunction_override()
{
if (isdefined(self.attacker) && isplayer(self.attacker))
{
if (!(isdefined(self.turning_into_ghost) && self.turning_into_ghost))
{
self force_random_powerup_drop();
self.attacker maps\mp\zombies\_zm_score::add_to_player_score(500);
}
}
return self [[self.deathfunction_old]]();
}
sq_give_player_rewards()
{
level thread scripts\zm\reimagined\_zm_sq::sq_complete_time_hud();
level thread scripts\zm\reimagined\_zm_sq::sq_play_song();
players = get_players();
foreach (player in players)
{
if (is_player_valid(player))
{
player thread scripts\zm\reimagined\_zm_sq::sq_give_player_all_perks();
}
}
}
mule_kick_allows_4_weapons()
{
level.additionalprimaryweapon_limit = 4;
}