1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 15:17:57 -05:00
Files
BO2-Reimagined/scripts/zm/replaced/zm_nuked_perks.gsc

119 lines
5.0 KiB
Plaintext

#include maps\mp\zm_nuked_perks;
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_weapons;
#include maps\mp\zombies\_zm_perks;
#include maps\mp\animscripts\zm_death;
#include maps\mp\zombies\_zm_game_module;
init_nuked_perks()
{
level.perk_arrival_vehicle = getent( "perk_arrival_vehicle", "targetname" );
level.perk_arrival_vehicle setmodel( "tag_origin" );
flag_init( "perk_vehicle_bringing_in_perk" );
structs = getstructarray( "zm_perk_machine", "targetname" );
for ( i = 0; i < structs.size; i++ )
structs[i] structdelete();
level.nuked_perks = [];
level.nuked_perks[0] = spawnstruct();
level.nuked_perks[0].model = "zombie_vending_revive";
level.nuked_perks[0].script_noteworthy = "specialty_quickrevive";
level.nuked_perks[0].turn_on_notify = "revive_on";
level.nuked_perks[1] = spawnstruct();
level.nuked_perks[1].model = "zombie_vending_sleight";
level.nuked_perks[1].script_noteworthy = "specialty_fastreload";
level.nuked_perks[1].turn_on_notify = "sleight_on";
level.nuked_perks[2] = spawnstruct();
level.nuked_perks[2].model = "zombie_vending_doubletap2";
level.nuked_perks[2].script_noteworthy = "specialty_rof";
level.nuked_perks[2].turn_on_notify = "doubletap_on";
level.nuked_perks[3] = spawnstruct();
level.nuked_perks[3].model = "zombie_vending_jugg";
level.nuked_perks[3].script_noteworthy = "specialty_armorvest";
level.nuked_perks[3].turn_on_notify = "juggernog_on";
level.nuked_perks[4] = spawnstruct();
level.nuked_perks[4].model = "p6_anim_zm_buildable_pap";
level.nuked_perks[4].script_noteworthy = "specialty_weapupgrade";
level.nuked_perks[4].turn_on_notify = "Pack_A_Punch_on";
level.override_perk_targetname = "zm_perk_machine_override";
random_perk_structs = [];
perk_structs = getstructarray( "zm_random_machine", "script_noteworthy" );
for ( i = 0; i < perk_structs.size; i++ )
{
random_perk_structs[i] = getstruct( perk_structs[i].target, "targetname" );
random_perk_structs[i].script_int = perk_structs[i].script_int;
}
level.random_perk_structs = array_randomize( random_perk_structs );
for ( i = 0; i < 5; i++ )
{
level.random_perk_structs[i].targetname = "zm_perk_machine_override";
level.random_perk_structs[i].model = level.nuked_perks[i].model;
level.random_perk_structs[i].blocker_model = getent( level.random_perk_structs[i].target, "targetname" );
level.random_perk_structs[i].script_noteworthy = level.nuked_perks[i].script_noteworthy;
level.random_perk_structs[i].turn_on_notify = level.nuked_perks[i].turn_on_notify;
if ( !isdefined( level.struct_class_names["targetname"]["zm_perk_machine_override"] ) )
level.struct_class_names["targetname"]["zm_perk_machine_override"] = [];
level.struct_class_names["targetname"]["zm_perk_machine_override"][level.struct_class_names["targetname"]["zm_perk_machine_override"].size] = level.random_perk_structs[i];
}
}
perks_from_the_sky()
{
level thread turn_perks_on();
top_height = 8000;
machines = [];
machine_triggers = [];
machines[0] = getent( "vending_revive", "targetname" );
if ( !isdefined( machines[0] ) )
return;
machine_triggers[0] = getent( "vending_revive", "target" );
move_perk( machines[0], top_height, 5.0, 0.001 );
machine_triggers[0] trigger_off();
machines[1] = getent( "vending_doubletap", "targetname" );
machine_triggers[1] = getent( "vending_doubletap", "target" );
move_perk( machines[1], top_height, 5.0, 0.001 );
machine_triggers[1] trigger_off();
machines[2] = getent( "vending_sleight", "targetname" );
machine_triggers[2] = getent( "vending_sleight", "target" );
move_perk( machines[2], top_height, 5.0, 0.001 );
machine_triggers[2] trigger_off();
machines[3] = getent( "vending_jugg", "targetname" );
machine_triggers[3] = getent( "vending_jugg", "target" );
move_perk( machines[3], top_height, 5.0, 0.001 );
machine_triggers[3] trigger_off();
machine_triggers[4] = getent( "specialty_weapupgrade", "script_noteworthy" );
machines[4] = getent( machine_triggers[4].target, "targetname" );
move_perk( machines[4], top_height, 5.0, 0.001 );
machine_triggers[4] trigger_off();
flag_wait( "initial_blackscreen_passed" );
wait( randomintrange( 10, 20 ) );
bring_random_perk( machines, machine_triggers );
wait_for_round_range( 5, 6 );
wait( randomintrange( 30, 60 ) );
bring_random_perk( machines, machine_triggers );
wait_for_round_range( 10, 11 );
wait( randomintrange( 30, 60 ) );
bring_random_perk( machines, machine_triggers );
wait_for_round_range( 15, 16 );
wait( randomintrange( 60, 120 ) );
bring_random_perk( machines, machine_triggers );
wait_for_round_range( 20, 21 );
wait( randomintrange( 60, 120 ) );
bring_random_perk( machines, machine_triggers );
}