1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-07 21:59:49 -05:00

Bus Depot: power doors open when door is opened

This commit is contained in:
Jbleezy 2021-12-12 16:16:33 -08:00
parent 35a3b09838
commit e967a85702
5 changed files with 150 additions and 111 deletions

View File

@ -188,6 +188,7 @@
* Survival: removed Galvaknuckles wallbuy
#### Bus Depot
* Power doors open when door is opened
* Lava pit is now accessible
### Die Rise

View File

@ -25,17 +25,15 @@ main()
maps/mp/gametypes_zm/_zm_gametype::setup_standard_objects( "station" );
station_treasure_chest_init();
level.enemy_location_override_func = ::enemy_location_override;
collision = spawn( "script_model", ( -6896, 4744, 0 ), 1 );
collision setmodel( "zm_collision_transit_busdepot_survival" );
collision disconnectpaths();
//collision = spawn( "script_model", ( -6896, 4744, 0 ), 1 );
//collision setmodel( "zm_collision_transit_busdepot_survival" );
//collision disconnectpaths();
remove_lava_collision();
flag_wait( "initial_blackscreen_passed" );
nodes = getnodearray( "classic_only_traversal", "targetname" );
foreach ( node in nodes )
{
unlink_nodes( node, getnode( node.target, "targetname" ) );
}
level thread maps/mp/zombies/_zm_perks::perk_machine_removal( "specialty_quickrevive", "p_glo_tools_chest_tall" );
maps/mp/zombies/_zm_game_module::turn_power_on_and_open_doors();
flag_set( "power_on" );
level setclientfield( "zombie_power_on", 1 );
level thread open_electric_doors_on_door_opened();
}
enemy_location_override( zombie, enemy )
@ -50,3 +48,71 @@ enemy_location_override( zombie, enemy )
}
return location;
}
remove_lava_collision()
{
ents = getEntArray( "script_model", "classname");
foreach (ent in ents)
{
if (IsDefined(ent.model))
{
if (ent.model == "zm_collision_transit_busdepot_survival")
{
ent delete();
}
else if (ent.model == "veh_t6_civ_smallwagon_dead" && ent.origin[0] == -6663.96 && ent.origin[1] == 4816.34)
{
ent delete();
}
else if (ent.model == "veh_t6_civ_microbus_dead" && ent.origin[0] == -6807.05 && ent.origin[1] == 4765.23)
{
ent delete();
}
else if (ent.model == "veh_t6_civ_movingtrk_cab_dead" && ent.origin[0] == -6652.9 && ent.origin[1] == 4767.7)
{
ent delete();
}
else if (ent.model == "p6_zm_rocks_small_cluster_01")
{
ent delete();
}
}
}
// spawn in new map edge collisions
// the lava collision and the map edge collisions are all the same entity
collision1 = spawn( "script_model", ( -5898, 4653, 0 ) );
collision1.angles = (0, 55, 0);
collision1 setmodel( "collision_wall_512x512x10_standard" );
collision2 = spawn( "script_model", ( -8062, 4700, 0 ) );
collision2.angles = (0, 70, 0);
collision2 setmodel( "collision_wall_512x512x10_standard" );
collision3 = spawn( "script_model", ( -7881, 5200, 0 ) );
collision3.angles = (0, 70, 0);
collision3 setmodel( "collision_wall_512x512x10_standard" );
}
open_electric_doors_on_door_opened()
{
level.local_doors_stay_open = 1;
door = undefined;
zombie_doors = getentarray( "zombie_door", "targetname" );
foreach ( door in zombie_doors )
{
if(door.target == "busstop_doors")
{
break;
}
}
door waittill( "door_opened" );
zombie_doors = getentarray( "zombie_door", "targetname" );
foreach ( door in zombie_doors )
{
if ( isDefined( door.script_noteworthy ) && door.script_noteworthy == "local_electric_door" )
{
door notify( "local_power_on" );
}
}
}

View File

@ -24,21 +24,15 @@ main()
maps/mp/gametypes_zm/_zm_gametype::setup_standard_objects( "station" );
station_treasure_chest_init();
level.enemy_location_override_func = ::enemy_location_override;
collision = spawn( "script_model", ( -6896, 4744, 0 ), 1 );
collision setmodel( "zm_collision_transit_busdepot_survival" );
collision disconnectpaths();
//collision = spawn( "script_model", ( -6896, 4744, 0 ), 1 );
//collision setmodel( "zm_collision_transit_busdepot_survival" );
//collision disconnectpaths();
remove_lava_collision();
flag_wait( "initial_blackscreen_passed" );
level thread maps/mp/zombies/_zm_perks::perk_machine_removal( "specialty_quickrevive", "p_glo_tools_chest_tall" );
flag_set( "power_on" );
level setclientfield( "zombie_power_on", 1 );
zombie_doors = getentarray( "zombie_door", "targetname" );
foreach ( door in zombie_doors )
{
if ( isDefined( door.script_noteworthy ) && door.script_noteworthy == "local_electric_door" )
{
door trigger_off();
}
}
level thread open_electric_doors_on_door_opened();
}
enemy_location_override( zombie, enemy )
@ -53,3 +47,71 @@ enemy_location_override( zombie, enemy )
}
return location;
}
remove_lava_collision()
{
ents = getEntArray( "script_model", "classname");
foreach (ent in ents)
{
if (IsDefined(ent.model))
{
if (ent.model == "zm_collision_transit_busdepot_survival")
{
ent delete();
}
else if (ent.model == "veh_t6_civ_smallwagon_dead" && ent.origin[0] == -6663.96 && ent.origin[1] == 4816.34)
{
ent delete();
}
else if (ent.model == "veh_t6_civ_microbus_dead" && ent.origin[0] == -6807.05 && ent.origin[1] == 4765.23)
{
ent delete();
}
else if (ent.model == "veh_t6_civ_movingtrk_cab_dead" && ent.origin[0] == -6652.9 && ent.origin[1] == 4767.7)
{
ent delete();
}
else if (ent.model == "p6_zm_rocks_small_cluster_01")
{
ent delete();
}
}
}
// spawn in new map edge collisions
// the lava collision and the map edge collisions are all the same entity
collision1 = spawn( "script_model", ( -5898, 4653, 0 ) );
collision1.angles = (0, 55, 0);
collision1 setmodel( "collision_wall_512x512x10_standard" );
collision2 = spawn( "script_model", ( -8062, 4700, 0 ) );
collision2.angles = (0, 70, 0);
collision2 setmodel( "collision_wall_512x512x10_standard" );
collision3 = spawn( "script_model", ( -7881, 5200, 0 ) );
collision3.angles = (0, 70, 0);
collision3 setmodel( "collision_wall_512x512x10_standard" );
}
open_electric_doors_on_door_opened()
{
level.local_doors_stay_open = 1;
door = undefined;
zombie_doors = getentarray( "zombie_door", "targetname" );
foreach ( door in zombie_doors )
{
if(door.target == "busstop_doors")
{
break;
}
}
door waittill( "door_opened" );
zombie_doors = getentarray( "zombie_door", "targetname" );
foreach ( door in zombie_doors )
{
if ( isDefined( door.script_noteworthy ) && door.script_noteworthy == "local_electric_door" )
{
door notify( "local_power_on" );
}
}
}

View File

@ -144,8 +144,6 @@ post_all_players_spawned()
jetgun_remove_forced_weapon_switch();
jetgun_remove_drop_fn();
depot_remove_lava_collision();
town_move_staminup_machine();
tombstone_disable_suicide();
@ -4471,12 +4469,11 @@ transit_power_local_electric_doors_globally()
return;
}
local_power = [];
for ( ;; )
{
flag_wait( "power_on" );
local_power = [];
zombie_doors = getentarray( "zombie_door", "targetname" );
for ( i = 0; i < zombie_doors.size; i++ )
{
@ -4493,7 +4490,6 @@ transit_power_local_electric_doors_globally()
maps/mp/zombies/_zm_power::end_local_power( local_power[i] );
local_power[i] = undefined;
}
local_power = [];
}
}
@ -4594,54 +4590,6 @@ transit_b23r_hint_string_fix()
}
}
depot_remove_lava_collision()
{
if(!(!is_classic() && level.scr_zm_map_start_location == "transit"))
{
return;
}
ents = getEntArray( "script_model", "classname");
foreach (ent in ents)
{
if (IsDefined(ent.model))
{
if (ent.model == "zm_collision_transit_busdepot_survival")
{
ent delete();
}
else if (ent.model == "veh_t6_civ_smallwagon_dead" && ent.origin[0] == -6663.96 && ent.origin[1] == 4816.34)
{
ent delete();
}
else if (ent.model == "veh_t6_civ_microbus_dead" && ent.origin[0] == -6807.05 && ent.origin[1] == 4765.23)
{
ent delete();
}
else if (ent.model == "veh_t6_civ_movingtrk_cab_dead" && ent.origin[0] == -6652.9 && ent.origin[1] == 4767.7)
{
ent delete();
}
else if (ent.model == "p6_zm_rocks_small_cluster_01")
{
ent delete();
}
}
}
// spawn in new map edge collisions
// the lava collision and the map edge collisions are all the same entity
collision1 = spawn( "script_model", ( -5898, 4653, 0 ) );
collision1.angles = (0, 55, 0);
collision1 setmodel( "collision_wall_512x512x10_standard" );
collision2 = spawn( "script_model", ( -8062, 4700, 0 ) );
collision2.angles = (0, 70, 0);
collision2 setmodel( "collision_wall_512x512x10_standard" );
collision3 = spawn( "script_model", ( -7881, 5200, 0 ) );
collision3.angles = (0, 70, 0);
collision3 setmodel( "collision_wall_512x512x10_standard" );
}
town_move_tombstone_machine()
{
if (!(level.scr_zm_ui_gametype == "zstandard" && level.scr_zm_map_start_location == "town"))

View File

@ -33,8 +33,6 @@ init()
setroundsplayed(level.round_number); // don't show first round animation
depot_close_local_electric_doors();
borough_move_quickrevive_machine();
borough_move_speedcola_machine();
borough_move_staminup_machine();
@ -44,8 +42,6 @@ init()
level thread round_start_wait(5, true);
level thread unlimited_zombies();
//level thread spawn_bots(7);
level thread depot_link_nodes();
}
set_team()
@ -1366,40 +1362,6 @@ handle_post_board_repair_rewards( cost, zbarrier )
}
}
depot_close_local_electric_doors()
{
if(level.scr_zm_map_start_location != "transit")
{
return;
}
zombie_doors = getentarray( "zombie_door", "targetname" );
foreach (door in zombie_doors)
{
if ( isDefined( door.script_noteworthy ) && door.script_noteworthy == "local_electric_door" )
{
door delete();
}
}
}
depot_link_nodes()
{
if(level.scr_zm_map_start_location != "transit")
{
return;
}
flag_wait( "initial_blackscreen_passed" );
wait 0.05;
nodes = getnodearray( "classic_only_traversal", "targetname" );
foreach (node in nodes)
{
link_nodes( node, getnode( node.target, "targetname" ) );
}
}
borough_move_quickrevive_machine()
{
if (level.scr_zm_map_start_location != "street")