mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-09 23:02:53 -05:00
Encounter on Nuketown: all perks drop at once
This commit is contained in:
@ -5694,6 +5694,51 @@
|
|||||||
"guid" "7A119D3A"
|
"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"
|
"target" "pf15_auto2911"
|
||||||
"angles" "0 197.8 0"
|
"angles" "0 197.8 0"
|
||||||
"targetname" "pf15_auto2903"
|
"targetname" "pf15_auto2903"
|
||||||
|
@ -98,6 +98,18 @@ perks_from_the_sky()
|
|||||||
machine_triggers[4] trigger_off();
|
machine_triggers[4] trigger_off();
|
||||||
flag_wait("initial_blackscreen_passed");
|
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));
|
wait(randomintrange(10, 20));
|
||||||
bring_random_perk(machines, machine_triggers);
|
bring_random_perk(machines, machine_triggers);
|
||||||
|
|
||||||
@ -116,4 +128,132 @@ perks_from_the_sky()
|
|||||||
wait_for_round_range(20, 21);
|
wait_for_round_range(20, 21);
|
||||||
wait(randomintrange(60, 120));
|
wait(randomintrange(60, 120));
|
||||||
bring_random_perk(machines, machine_triggers);
|
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