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_ows.gsc
2023-12-16 20:01:17 -08:00

100 lines
2.0 KiB
Plaintext

#include maps\mp\zm_buried_sq_ows;
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_sidequests;
#include maps\mp\zm_buried_sq;
ows_targets_start()
{
n_cur_second = 0;
flag_clear("sq_ows_target_missed");
level thread sndsidequestowsmusic();
a_sign_spots = getstructarray("otw_target_spot", "script_noteworthy");
level.targets_hit = 0;
while (n_cur_second < 40)
{
a_spawn_spots = ows_targets_get_cur_spots(n_cur_second);
if (isdefined(a_spawn_spots) && a_spawn_spots.size > 0)
ows_targets_spawn(a_spawn_spots);
wait 1;
n_cur_second++;
}
players = get_players();
if (level.targets_hit < (20 * players.size))
{
flag_set("sq_ows_target_missed");
}
if (!flag("sq_ows_target_missed"))
{
flag_set("sq_ows_success");
playsoundatposition("zmb_sq_target_success", (0, 0, 0));
}
else
playsoundatposition("zmb_sq_target_fail", (0, 0, 0));
level notify("sndEndOWSMusic");
}
ows_targets_spawn(a_spawn_spots)
{
i = 0;
foreach (s_spot in a_spawn_spots)
{
m_target = spawn("script_model", s_spot.origin);
m_target.angles = s_spot.angles;
m_target setmodel("p6_zm_bu_target");
m_target ghost();
wait_network_frame();
m_target show();
playfxontag(level._effect["sq_spawn"], m_target, "tag_origin");
m_target playsound("zmb_sq_target_spawn");
if (isdefined(s_spot.target))
m_target thread ows_target_move(s_spot.target);
m_target thread ows_target_think();
m_target thread sndhit();
m_target thread sndtime();
i++;
}
}
ows_target_think()
{
self setcandamage(1);
self thread ows_target_delete_timer();
msg = self waittill_any_return("ows_target_timeout", "damage");
if (msg == "damage")
{
level.targets_hit++;
}
if (isdefined(self.m_linker))
{
self unlink();
self.m_linker delete();
}
self rotatepitch(-90, 0.15, 0.05, 0.05);
self waittill("rotatedone");
self delete();
}
ows_target_delete_timer()
{
self endon("death");
wait 4;
self notify("ows_target_timeout");
}