mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 07:08:06 -05:00
MOTD: zombies spawn sooner after crashing at the Bridge
This commit is contained in:
@ -574,6 +574,7 @@
|
||||
* Plane no longer has to be refueled after first use
|
||||
* Plane reappears immediately after coming back from the Golden Gate Bridge
|
||||
* Electric chairs appear immediately after crashing at the Golden Gate Bridge
|
||||
* Zombies spawn sooner after crashing at the Golden Gate Bridge
|
||||
* Key no longer shows on HUD
|
||||
* Brutus no longer spawns if no doors have been opened
|
||||
* Acid Trap: kills on any round (normally stops killing after round 158 on PC)
|
||||
@ -591,6 +592,7 @@
|
||||
* Quest: can enter the plane in afterlife without Weasel
|
||||
* Quest: if Weasel is the only player in the game, the cycle breaks immediately after reviving yourself on the Golden Gate Bridge
|
||||
* Quest: if Weasel is not in the game, the cycle continues immediately immediately after everyone revives themselves on the Golden Gate Bridge
|
||||
* Quest: players no longer get moved to different positions when starting the showdown
|
||||
* Quest: showdown target waypoint shows offscreen
|
||||
* Grief: added Smoke Grenades to the Mystery Box
|
||||
* Grief: added Richtofen's Head meat powerup model
|
||||
|
@ -75,6 +75,119 @@ prep_for_new_quest()
|
||||
flag_clear( "plane_is_away" );
|
||||
}
|
||||
|
||||
plane_boarding_thread()
|
||||
{
|
||||
self endon( "death_or_disconnect" );
|
||||
flag_set( "plane_is_away" );
|
||||
self thread player_disconnect_watcher();
|
||||
self thread player_death_watcher();
|
||||
|
||||
flag_set( "plane_boarded" );
|
||||
self setclientfieldtoplayer( "effects_escape_flight", 1 );
|
||||
level.brutus_respawn_after_despawn = 0;
|
||||
a_nml_teleport_targets = [];
|
||||
|
||||
for ( i = 1; i < 6; i++ )
|
||||
a_nml_teleport_targets[i - 1] = getstruct( "nml_telepoint_" + i, "targetname" );
|
||||
|
||||
level.characters_in_nml[level.characters_in_nml.size] = self.character_name;
|
||||
self.on_a_plane = 1;
|
||||
level.someone_has_visited_nml = 1;
|
||||
self.n_passenger_index = level.characters_in_nml.size;
|
||||
m_plane_craftable = getent( "plane_craftable", "targetname" );
|
||||
m_plane_about_to_crash = getent( "plane_about_to_crash", "targetname" );
|
||||
veh_plane_flyable = getent( "plane_flyable", "targetname" );
|
||||
t_plane_fly = getent( "plane_fly_trigger", "targetname" );
|
||||
t_plane_fly sethintstring( &"ZM_PRISON_PLANE_BOARD" );
|
||||
self enableinvulnerability();
|
||||
self playerlinktodelta( m_plane_craftable, "tag_player_crouched_" + ( self.n_passenger_index + 1 ) );
|
||||
self allowstand( 0 );
|
||||
flag_wait( "plane_departed" );
|
||||
level notify( "sndStopBrutusLoop" );
|
||||
self clientnotify( "sndPS" );
|
||||
self playsoundtoplayer( "zmb_plane_takeoff", self );
|
||||
level thread maps\mp\zombies\_zm_audio::sndmusicstingerevent( "plane_takeoff", self );
|
||||
self playerlinktodelta( veh_plane_flyable, "tag_player_crouched_" + ( self.n_passenger_index + 1 ) );
|
||||
self setclientfieldtoplayer( "effects_escape_flight", 2 );
|
||||
flag_wait( "plane_approach_bridge" );
|
||||
self thread snddelayedimp();
|
||||
self setclientfieldtoplayer( "effects_escape_flight", 3 );
|
||||
self unlink();
|
||||
self playerlinktoabsolute( veh_plane_flyable, "tag_player_crouched_" + ( self.n_passenger_index + 1 ) );
|
||||
flag_wait( "plane_zapped" );
|
||||
flag_set( "activate_player_zone_bridge" );
|
||||
self playsoundtoplayer( "zmb_plane_fall", self );
|
||||
self setclientfieldtoplayer( "effects_escape_flight", 4 );
|
||||
self.dontspeak = 1;
|
||||
self setclientfieldtoplayer( "isspeaking", 1 );
|
||||
self playerlinktodelta( m_plane_about_to_crash, "tag_player_crouched_" + ( self.n_passenger_index + 1 ), 1, 0, 0, 0, 0, 1 );
|
||||
self forcegrenadethrow();
|
||||
str_current_weapon = self getcurrentweapon();
|
||||
self giveweapon( "falling_hands_zm" );
|
||||
self switchtoweaponimmediate( "falling_hands_zm" );
|
||||
self setweaponammoclip( "falling_hands_zm", 0 );
|
||||
players = getplayers();
|
||||
|
||||
foreach ( player in players )
|
||||
{
|
||||
if ( player != self )
|
||||
player setinvisibletoplayer( self );
|
||||
}
|
||||
|
||||
flag_wait( "plane_crashed" );
|
||||
self setclientfieldtoplayer( "effects_escape_flight", 5 );
|
||||
self takeweapon( "falling_hands_zm" );
|
||||
|
||||
if ( isdefined( str_current_weapon ) && str_current_weapon != "none" )
|
||||
self switchtoweaponimmediate( str_current_weapon );
|
||||
|
||||
self thread fadetoblackforxsec( 0, 2, 0, 0.5, "black" );
|
||||
self thread snddelayedmusic();
|
||||
self unlink();
|
||||
self allowstand( 1 );
|
||||
self setstance( "stand" );
|
||||
players = getplayers();
|
||||
|
||||
foreach ( player in players )
|
||||
{
|
||||
if ( player != self )
|
||||
player setvisibletoplayer( self );
|
||||
}
|
||||
|
||||
flag_clear( "spawn_zombies" );
|
||||
self setorigin( a_nml_teleport_targets[self.n_passenger_index].origin );
|
||||
e_poi = getstruct( "plane_crash_poi", "targetname" );
|
||||
vec_to_target = e_poi.origin - self.origin;
|
||||
vec_to_target = vectortoangles( vec_to_target );
|
||||
vec_to_target = ( 0, vec_to_target[1], 0 );
|
||||
self setplayerangles( vec_to_target );
|
||||
n_shellshock_duration = 5;
|
||||
self shellshock( "explosion", n_shellshock_duration );
|
||||
self.dontspeak = 0;
|
||||
self setclientfieldtoplayer( "isspeaking", 0 );
|
||||
self notify( "player_at_bridge" );
|
||||
wait( n_shellshock_duration );
|
||||
self disableinvulnerability();
|
||||
self.on_a_plane = 0;
|
||||
|
||||
if ( level.characters_in_nml.size == 1 )
|
||||
self thread vo_bridge_soliloquy();
|
||||
else if ( level.characters_in_nml.size == 4 )
|
||||
level thread vo_bridge_four_part_convo();
|
||||
|
||||
self playsoundtoplayer( "zmb_ggb_swarm_start", self );
|
||||
flag_set( "spawn_zombies" );
|
||||
level.brutus_respawn_after_despawn = 1;
|
||||
character_name = level.characters_in_nml[randomintrange( 0, level.characters_in_nml.size )];
|
||||
players = getplayers();
|
||||
|
||||
foreach ( player in players )
|
||||
{
|
||||
if ( isdefined( player ) && player.character_name == character_name )
|
||||
player thread do_player_general_vox( "quest", "zombie_arrive_gg", undefined, 100 );
|
||||
}
|
||||
}
|
||||
|
||||
plane_flight_thread()
|
||||
{
|
||||
while ( true )
|
||||
@ -152,7 +265,6 @@ plane_flight_thread()
|
||||
veh_plane_flyable waittill( "reached_end_node" );
|
||||
|
||||
veh_plane_flyable setinvisibletoall();
|
||||
wait 20;
|
||||
|
||||
if ( !level.final_flight_activated )
|
||||
{
|
||||
|
@ -31,6 +31,7 @@ main()
|
||||
replaceFunc(maps\mp\zm_alcatraz_gamemodes::init, scripts\zm\replaced\zm_alcatraz_gamemodes::init);
|
||||
replaceFunc(maps\mp\zm_alcatraz_utility::blundergat_upgrade_station, scripts\zm\replaced\zm_alcatraz_utility::blundergat_upgrade_station);
|
||||
replaceFunc(maps\mp\zm_alcatraz_sq::track_quest_status_thread, scripts\zm\replaced\zm_alcatraz_sq::track_quest_status_thread);
|
||||
replaceFunc(maps\mp\zm_alcatraz_sq::plane_boarding_thread, scripts\zm\replaced\zm_alcatraz_sq::plane_boarding_thread);
|
||||
replaceFunc(maps\mp\zm_alcatraz_sq::plane_flight_thread, scripts\zm\replaced\zm_alcatraz_sq::plane_flight_thread);
|
||||
replaceFunc(maps\mp\zm_alcatraz_sq::manage_electric_chairs, scripts\zm\replaced\zm_alcatraz_sq::manage_electric_chairs);
|
||||
replaceFunc(maps\mp\zm_alcatraz_traps::init_fan_trap_trigs, scripts\zm\replaced\zm_alcatraz_traps::init_fan_trap_trigs);
|
||||
|
Reference in New Issue
Block a user