mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 07:08:06 -05:00
Encounter on Nuketown: all perks drop at once
This commit is contained in:
@ -5694,6 +5694,51 @@
|
||||
"guid" "7A119D3A"
|
||||
}
|
||||
{
|
||||
"classname" "script_vehicle"
|
||||
"vehicletype" "defaultvehicle"
|
||||
"model" "defaultvehicle"
|
||||
"origin" "-1511.5 -579 -52"
|
||||
"targetname" "grief_perk_arrival_vehicle"
|
||||
"spawnflags" "0"
|
||||
"guid" "7A119D3A"
|
||||
}
|
||||
{
|
||||
"classname" "script_vehicle"
|
||||
"vehicletype" "defaultvehicle"
|
||||
"model" "defaultvehicle"
|
||||
"origin" "-1511.5 -579 -52"
|
||||
"targetname" "grief_perk_arrival_vehicle"
|
||||
"spawnflags" "0"
|
||||
"guid" "7A119D3A"
|
||||
}
|
||||
{
|
||||
"classname" "script_vehicle"
|
||||
"vehicletype" "defaultvehicle"
|
||||
"model" "defaultvehicle"
|
||||
"origin" "-1511.5 -579 -52"
|
||||
"targetname" "grief_perk_arrival_vehicle"
|
||||
"spawnflags" "0"
|
||||
"guid" "7A119D3A"
|
||||
}
|
||||
{
|
||||
"classname" "script_vehicle"
|
||||
"vehicletype" "defaultvehicle"
|
||||
"model" "defaultvehicle"
|
||||
"origin" "-1511.5 -579 -52"
|
||||
"targetname" "grief_perk_arrival_vehicle"
|
||||
"spawnflags" "0"
|
||||
"guid" "7A119D3A"
|
||||
}
|
||||
{
|
||||
"classname" "script_vehicle"
|
||||
"vehicletype" "defaultvehicle"
|
||||
"model" "defaultvehicle"
|
||||
"origin" "-1511.5 -579 -52"
|
||||
"targetname" "grief_perk_arrival_vehicle"
|
||||
"spawnflags" "0"
|
||||
"guid" "7A119D3A"
|
||||
}
|
||||
{
|
||||
"target" "pf15_auto2911"
|
||||
"angles" "0 197.8 0"
|
||||
"targetname" "pf15_auto2903"
|
||||
|
@ -98,6 +98,18 @@ perks_from_the_sky()
|
||||
machine_triggers[4] trigger_off();
|
||||
flag_wait("initial_blackscreen_passed");
|
||||
|
||||
if (level.scr_zm_ui_gametype == "zgrief")
|
||||
{
|
||||
grief_bring_random_perks(machines, machine_triggers);
|
||||
}
|
||||
else
|
||||
{
|
||||
bring_random_perks(machines, machine_triggers);
|
||||
}
|
||||
}
|
||||
|
||||
bring_random_perks(machines, machine_triggers)
|
||||
{
|
||||
wait(randomintrange(10, 20));
|
||||
bring_random_perk(machines, machine_triggers);
|
||||
|
||||
@ -117,3 +129,131 @@ perks_from_the_sky()
|
||||
wait(randomintrange(60, 120));
|
||||
bring_random_perk(machines, machine_triggers);
|
||||
}
|
||||
|
||||
grief_bring_random_perks(machines, machine_triggers)
|
||||
{
|
||||
level.grief_perk_arrival_vehicles = getentarray("grief_perk_arrival_vehicle", "targetname");
|
||||
level.grief_perk_arrival_vehicles_ind = 0;
|
||||
|
||||
foreach (grief_perk_arrival_vehicle in level.grief_perk_arrival_vehicles)
|
||||
{
|
||||
grief_perk_arrival_vehicle setmodel("tag_origin");
|
||||
}
|
||||
|
||||
level waittill("restart_round_start");
|
||||
|
||||
wait(randomintrange(10, 20));
|
||||
grief_bring_random_perk(machines, machine_triggers);
|
||||
grief_bring_random_perk(machines, machine_triggers);
|
||||
grief_bring_random_perk(machines, machine_triggers);
|
||||
grief_bring_random_perk(machines, machine_triggers);
|
||||
grief_bring_random_perk(machines, machine_triggers);
|
||||
}
|
||||
|
||||
grief_bring_random_perk(machines, machine_triggers)
|
||||
{
|
||||
count = machines.size;
|
||||
|
||||
if (count <= 0)
|
||||
return;
|
||||
|
||||
index = randomintrange(0, count);
|
||||
level thread grief_bring_perk(machines[index], machine_triggers[index]);
|
||||
arrayremoveindex(machines, index);
|
||||
arrayremoveindex(machine_triggers, index);
|
||||
}
|
||||
|
||||
grief_bring_perk(machine, trigger)
|
||||
{
|
||||
initial_perk = level.grief_perk_arrival_vehicles_ind == 0;
|
||||
perk_arrival_vehicle = level.grief_perk_arrival_vehicles[level.grief_perk_arrival_vehicles_ind];
|
||||
level.grief_perk_arrival_vehicles_ind++;
|
||||
|
||||
if (initial_perk)
|
||||
{
|
||||
playsoundatposition("zmb_perks_incoming_quad_front", (0, 0, 0));
|
||||
playsoundatposition("zmb_perks_incoming_alarm", (-2198, 486, 327));
|
||||
}
|
||||
|
||||
is_doubletap = 0;
|
||||
is_sleight = 0;
|
||||
is_revive = 0;
|
||||
is_jugger = 0;
|
||||
machine setclientfield("clientfield_perk_intro_fx", 1);
|
||||
machine.fx = spawn("script_model", machine.origin);
|
||||
machine.fx playloopsound("zmb_perks_incoming_loop", 6);
|
||||
machine.fx thread perk_incoming_sound();
|
||||
machine.fx.angles = machine.angles;
|
||||
machine.fx setmodel("tag_origin");
|
||||
machine.fx linkto(machine);
|
||||
machine linkto(perk_arrival_vehicle, "tag_origin", (0, 0, 0), (0, 0, 0));
|
||||
start_node = getvehiclenode("perk_arrival_path_" + machine.script_int, "targetname");
|
||||
|
||||
perk_arrival_vehicle perk_follow_path(start_node);
|
||||
machine unlink();
|
||||
offset = (0, 0, 0);
|
||||
|
||||
if (issubstr(machine.targetname, "doubletap"))
|
||||
{
|
||||
forward_dir = anglestoforward(machine.original_angles + vectorscale((0, -1, 0), 90.0));
|
||||
offset = vectorscale(forward_dir * -1, 20);
|
||||
is_doubletap = 1;
|
||||
}
|
||||
else if (issubstr(machine.targetname, "sleight"))
|
||||
{
|
||||
forward_dir = anglestoforward(machine.original_angles + vectorscale((0, -1, 0), 90.0));
|
||||
offset = vectorscale(forward_dir * -1, 5);
|
||||
is_sleight = 1;
|
||||
}
|
||||
else if (issubstr(machine.targetname, "revive"))
|
||||
{
|
||||
forward_dir = anglestoforward(machine.original_angles + vectorscale((0, -1, 0), 90.0));
|
||||
offset = vectorscale(forward_dir * -1, 10);
|
||||
trigger.blocker_model hide();
|
||||
is_revive = 1;
|
||||
}
|
||||
else if (issubstr(machine.targetname, "jugger"))
|
||||
{
|
||||
forward_dir = anglestoforward(machine.original_angles + vectorscale((0, -1, 0), 90.0));
|
||||
offset = vectorscale(forward_dir * -1, 10);
|
||||
is_jugger = 1;
|
||||
}
|
||||
|
||||
if (!is_revive)
|
||||
trigger.blocker_model delete();
|
||||
|
||||
machine.original_pos = machine.original_pos + (offset[0], offset[1], 0);
|
||||
machine.origin = machine.original_pos;
|
||||
machine.angles = machine.original_angles;
|
||||
|
||||
if (is_revive)
|
||||
{
|
||||
level.quick_revive_final_pos = machine.origin;
|
||||
level.quick_revive_final_angles = machine.angles;
|
||||
}
|
||||
|
||||
machine.fx stoploopsound(0.5);
|
||||
machine setclientfield("clientfield_perk_intro_fx", 0);
|
||||
playsoundatposition("zmb_perks_incoming_land", machine.origin);
|
||||
trigger trigger_on();
|
||||
machine thread bring_perk_landing_damage();
|
||||
machine.fx unlink();
|
||||
machine.fx delete();
|
||||
machine notify(machine.turn_on_notify);
|
||||
level notify(machine.turn_on_notify);
|
||||
machine vibrate(vectorscale((0, -1, 0), 100.0), 0.3, 0.4, 3);
|
||||
machine playsound("zmb_perks_power_on");
|
||||
machine maps\mp\zombies\_zm_perks::perk_fx(undefined, 1);
|
||||
|
||||
if (is_revive)
|
||||
{
|
||||
level.revive_machine_spawned = 1;
|
||||
machine thread maps\mp\zombies\_zm_perks::perk_fx("revive_light");
|
||||
}
|
||||
else if (is_jugger)
|
||||
machine thread maps\mp\zombies\_zm_perks::perk_fx("jugger_light");
|
||||
else if (is_doubletap)
|
||||
machine thread maps\mp\zombies\_zm_perks::perk_fx("doubletap_light");
|
||||
else if (is_sleight)
|
||||
machine thread maps\mp\zombies\_zm_perks::perk_fx("sleight_light");
|
||||
}
|
Reference in New Issue
Block a user