mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-11 15:48:05 -05:00
Tranzit: allow sprinting and going prone on bus
This commit is contained in:
@ -365,6 +365,7 @@
|
|||||||
|
|
||||||
### Tranzit
|
### Tranzit
|
||||||
* Any door that requires a Turbine to open is automatically open whenever the power is on
|
* Any door that requires a Turbine to open is automatically open whenever the power is on
|
||||||
|
* Players can sprint and go prone on the bus
|
||||||
* Lava in starting area activates after the power is on
|
* Lava in starting area activates after the power is on
|
||||||
* Lava destroys grenades instantly
|
* Lava destroys grenades instantly
|
||||||
* Decreased brightness at Power Station
|
* Decreased brightness at Power Station
|
||||||
|
148
scripts/zm/replaced/zm_transit_bus.gsc
Normal file
148
scripts/zm/replaced/zm_transit_bus.gsc
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
#include common_scripts\utility;
|
||||||
|
#include maps\mp\_utility;
|
||||||
|
#include maps\mp\zombies\_zm_utility;
|
||||||
|
#include maps\mp\zombies\_zm_weapons;
|
||||||
|
#include maps\mp\zm_transit_utility;
|
||||||
|
#include maps\mp\zm_transit_automaton;
|
||||||
|
#include maps\mp\zm_transit_cling;
|
||||||
|
#include maps\mp\zm_transit_openings;
|
||||||
|
#include maps\mp\zombies\_zm_zonemgr;
|
||||||
|
#include maps\mp\zm_transit_ambush;
|
||||||
|
#include maps\mp\zombies\_zm;
|
||||||
|
#include maps\mp\zombies\_zm_spawner;
|
||||||
|
#include maps\mp\zombies\_zm_ai_basic;
|
||||||
|
#include maps\mp\zombies\_zm_equipment;
|
||||||
|
#include maps\mp\zombies\_zm_stats;
|
||||||
|
#include maps\mp\zombies\_zm_laststand;
|
||||||
|
#include maps\mp\zombies\_zm_powerups;
|
||||||
|
#include maps\mp\zombies\_zm_buildables;
|
||||||
|
#include maps\mp\zombies\_zm_weap_emp_bomb;
|
||||||
|
#include maps\mp\zm_transit_lava;
|
||||||
|
#include maps\mp\zombies\_zm_audio;
|
||||||
|
#include maps\mp\zm_transit_bus;
|
||||||
|
|
||||||
|
busupdateplayers()
|
||||||
|
{
|
||||||
|
level endon( "end_game" );
|
||||||
|
|
||||||
|
while ( true )
|
||||||
|
{
|
||||||
|
self.numplayers = 0;
|
||||||
|
self.numplayerson = 0;
|
||||||
|
self.numplayersonroof = 0;
|
||||||
|
self.numplayersinsidebus = 0;
|
||||||
|
self.numplayersnear = 0;
|
||||||
|
self.numaliveplayersridingbus = 0;
|
||||||
|
self.frontworld = self localtoworldcoords( self.frontlocal );
|
||||||
|
self.backworld = self localtoworldcoords( self.backlocal );
|
||||||
|
self.bus_riders_alive = [];
|
||||||
|
|
||||||
|
players = get_players();
|
||||||
|
|
||||||
|
foreach ( player in players )
|
||||||
|
{
|
||||||
|
if ( !isalive( player ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
self.numplayers++;
|
||||||
|
|
||||||
|
if ( distance2d( player.origin, self.origin ) < 1700 )
|
||||||
|
self.numplayersnear++;
|
||||||
|
|
||||||
|
playerisinbus = 0;
|
||||||
|
mover = player getmoverent();
|
||||||
|
|
||||||
|
if ( isdefined( mover ) )
|
||||||
|
{
|
||||||
|
if ( isdefined( mover.targetname ) )
|
||||||
|
{
|
||||||
|
if ( mover.targetname == "the_bus" || mover.targetname == "bus_path_blocker" || mover.targetname == "hatch_clip" || mover.targetname == "ladder_mantle" )
|
||||||
|
playerisinbus = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isdefined( mover.equipname ) )
|
||||||
|
{
|
||||||
|
if ( mover.equipname == "riotshield_zm" )
|
||||||
|
{
|
||||||
|
if ( isdefined( mover.isonbus ) && mover.isonbus )
|
||||||
|
playerisinbus = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isdefined( mover.is_zombie ) && mover.is_zombie && ( isdefined( mover.isonbus ) && mover.isonbus ) )
|
||||||
|
playerisinbus = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( playerisinbus )
|
||||||
|
{
|
||||||
|
self.numplayerson++;
|
||||||
|
|
||||||
|
if ( is_player_valid( player ) )
|
||||||
|
{
|
||||||
|
self.numaliveplayersridingbus++;
|
||||||
|
self.bus_riders_alive[self.bus_riders_alive.size] = player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ground_ent = player getgroundent();
|
||||||
|
|
||||||
|
if ( player isonladder() )
|
||||||
|
ground_ent = mover;
|
||||||
|
|
||||||
|
if ( isdefined( ground_ent ) )
|
||||||
|
{
|
||||||
|
if ( isdefined( ground_ent.is_zombie ) && ground_ent.is_zombie )
|
||||||
|
player thread zombie_surf( ground_ent );
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( playerisinbus && !( isdefined( player.isonbus ) && player.isonbus ) )
|
||||||
|
{
|
||||||
|
bbprint( "zombie_events", "category %s type %s round %d playername %s", "BUS", "player_enter", level.round_number, player.name );
|
||||||
|
player thread bus_audio_interior_loop( self );
|
||||||
|
player clientnotify( "OBS" );
|
||||||
|
player setclientplayerpushamount( 0 );
|
||||||
|
|
||||||
|
if ( randomint( 100 ) > 80 && level.automaton.greeting_timer == 0 )
|
||||||
|
{
|
||||||
|
thread automatonspeak( "convo", "player_enter" );
|
||||||
|
level.automaton thread greeting_timer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !playerisinbus && ( isdefined( player.isonbus ) && player.isonbus ) )
|
||||||
|
{
|
||||||
|
bbprint( "zombie_events", "category %s type %s round %d playername %s", "BUS", "player_exit", level.round_number, player.name );
|
||||||
|
self.buyable_weapon setinvisibletoplayer( player );
|
||||||
|
player setclientplayerpushamount( 1 );
|
||||||
|
player notify( "left bus" );
|
||||||
|
player clientnotify( "LBS" );
|
||||||
|
|
||||||
|
if ( randomint( 100 ) > 80 && level.automaton.greeting_timer == 0 )
|
||||||
|
{
|
||||||
|
thread automatonspeak( "convo", "player_leave" );
|
||||||
|
level.automaton thread greeting_timer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
player.isonbus = playerisinbus;
|
||||||
|
player.isonbusroof = player _entityisonroof();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isdefined( player.isonbusroof ) && player.isonbusroof )
|
||||||
|
{
|
||||||
|
self.buyable_weapon setinvisibletoplayer( player );
|
||||||
|
self.numplayersonroof++;
|
||||||
|
}
|
||||||
|
else if ( isdefined( player.isonbus ) && player.isonbus )
|
||||||
|
{
|
||||||
|
self.buyable_weapon setvisibletoplayer( player );
|
||||||
|
self.numplayersinsidebus++;
|
||||||
|
}
|
||||||
|
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,7 @@
|
|||||||
#include scripts\zm\replaced\zm_transit;
|
#include scripts\zm\replaced\zm_transit;
|
||||||
#include scripts\zm\replaced\zm_transit_gamemodes;
|
#include scripts\zm\replaced\zm_transit_gamemodes;
|
||||||
#include scripts\zm\replaced\zm_transit_utility;
|
#include scripts\zm\replaced\zm_transit_utility;
|
||||||
|
#include scripts\zm\replaced\zm_transit_bus;
|
||||||
#include scripts\zm\replaced\_zm_weap_jetgun;
|
#include scripts\zm\replaced\_zm_weap_jetgun;
|
||||||
#include scripts\zm\replaced\_zm_weap_emp_bomb;
|
#include scripts\zm\replaced\_zm_weap_emp_bomb;
|
||||||
#include scripts\zm\replaced\_zm_equip_electrictrap;
|
#include scripts\zm\replaced\_zm_equip_electrictrap;
|
||||||
@ -18,6 +19,7 @@ main()
|
|||||||
replaceFunc(maps\mp\zm_transit::lava_damage_depot, scripts\zm\replaced\zm_transit::lava_damage_depot);
|
replaceFunc(maps\mp\zm_transit::lava_damage_depot, scripts\zm\replaced\zm_transit::lava_damage_depot);
|
||||||
replaceFunc(maps\mp\zm_transit_gamemodes::init, scripts\zm\replaced\zm_transit_gamemodes::init);
|
replaceFunc(maps\mp\zm_transit_gamemodes::init, scripts\zm\replaced\zm_transit_gamemodes::init);
|
||||||
replaceFunc(maps\mp\zm_transit_utility::solo_tombstone_removal, scripts\zm\replaced\zm_transit_utility::solo_tombstone_removal);
|
replaceFunc(maps\mp\zm_transit_utility::solo_tombstone_removal, scripts\zm\replaced\zm_transit_utility::solo_tombstone_removal);
|
||||||
|
replaceFunc(maps\mp\zm_transit_bus::busupdateplayers, scripts\zm\replaced\zm_transit_bus::busupdateplayers);
|
||||||
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::is_jetgun_firing, scripts\zm\replaced\_zm_weap_jetgun::is_jetgun_firing);
|
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::is_jetgun_firing, scripts\zm\replaced\_zm_weap_jetgun::is_jetgun_firing);
|
||||||
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::jetgun_check_enemies_in_range, scripts\zm\replaced\_zm_weap_jetgun::jetgun_check_enemies_in_range);
|
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::jetgun_check_enemies_in_range, scripts\zm\replaced\_zm_weap_jetgun::jetgun_check_enemies_in_range);
|
||||||
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::jetgun_grind_zombie, scripts\zm\replaced\_zm_weap_jetgun::jetgun_grind_zombie);
|
replaceFunc(maps\mp\zombies\_zm_weap_jetgun::jetgun_grind_zombie, scripts\zm\replaced\_zm_weap_jetgun::jetgun_grind_zombie);
|
||||||
|
Reference in New Issue
Block a user