mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 07:08:06 -05:00
Nuketown: perk changes
This commit is contained in:
@ -556,6 +556,12 @@
|
||||
* No perks
|
||||
* Pack-a-Punch
|
||||
|
||||
### Nuketown
|
||||
* Initial perk is no longer always Quick Revive in solo
|
||||
* Initial perk no longer always spawns in the starting area in solo
|
||||
* Initial perk spawns at round 1 in coop
|
||||
* Perks spawn every 5th round
|
||||
|
||||
### Die Rise
|
||||
* Removed key
|
||||
* Elevators and escape pod can be called without key
|
||||
|
119
scripts/zm/replaced/zm_nuked_perks.gsc
Normal file
119
scripts/zm/replaced/zm_nuked_perks.gsc
Normal file
@ -0,0 +1,119 @@
|
||||
#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;
|
||||
#include maps\mp\zm_nuked_perks;
|
||||
|
||||
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 );
|
||||
}
|
@ -2,6 +2,14 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\zombies\_zm_utility;
|
||||
|
||||
#include scripts\zm\replaced\zm_nuked_perks;
|
||||
|
||||
main()
|
||||
{
|
||||
replaceFunc(maps\mp\zm_nuked_perks::init_nuked_perks, scripts\zm\replaced\zm_nuked_perks::init_nuked_perks);
|
||||
replaceFunc(maps\mp\zm_nuked_perks::perks_from_the_sky, scripts\zm\replaced\zm_nuked_perks::perks_from_the_sky);
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
level.zombie_init_done = ::zombie_init_done;
|
||||
|
Reference in New Issue
Block a user