1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 23:27:57 -05:00

Move maps folder into scripts folder

This commit is contained in:
Jbleezy
2023-03-09 18:49:24 -08:00
parent 6b5311bd7b
commit 5f11a2a9ac
9 changed files with 42 additions and 2 deletions

View File

@ -0,0 +1,20 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_game_module;
#include maps\mp\gametypes_zm\_zm_gametype;
#include maps\mp\zm_prison;
#include maps\mp\zm_alcatraz_grief_cellblock;
#include maps\mp\zm_alcatraz_classic;
#include maps\mp\zm_alcatraz_gamemodes;
#include scripts\zm\replaced\zm_alcatraz_grief_cellblock;
init()
{
level.custom_vending_precaching = maps\mp\zm_prison::custom_vending_precaching;
add_map_gamemode( "zclassic", maps\mp\zm_prison::zclassic_preinit, undefined, undefined );
add_map_gamemode( "zgrief", maps\mp\zm_alcatraz_grief_cellblock::zgrief_preinit, undefined, undefined );
add_map_location_gamemode( "zclassic", "prison", maps\mp\zm_alcatraz_classic::precache, maps\mp\zm_alcatraz_classic::main );
add_map_location_gamemode( "zgrief", "cellblock", scripts\zm\replaced\zm_alcatraz_grief_cellblock::precache, scripts\zm\replaced\zm_alcatraz_grief_cellblock::main );
}

View File

@ -0,0 +1,423 @@
#include maps\mp\gametypes_zm\zmeat;
#include maps\mp\zm_alcatraz_traps;
#include maps\mp\zombies\_zm_game_module;
#include maps\mp\zombies\_zm_blockers;
#include maps\mp\zombies\_zm_ai_brutus;
#include maps\mp\gametypes_zm\_zm_gametype;
#include maps\mp\zombies\_zm_magicbox;
#include maps\mp\zombies\_zm_weapons;
#include maps\mp\zm_prison;
#include maps\mp\zombies\_zm_race_utility;
#include maps\mp\zombies\_zm_utility;
#include common_scripts\utility;
#include maps\mp\_utility;
precache()
{
}
zgrief_preinit()
{
registerclientfield( "toplayer", "meat_stink", 1, 1, "int" );
level.givecustomloadout = maps\mp\zm_prison::givecustomloadout;
zgrief_init();
}
zgrief_init()
{
encounter_init();
}
encounter_init()
{
level.precachecustomcharacters = ::precache_team_characters;
level.givecustomcharacters = ::give_team_characters;
level.gamemode_post_spawn_logic = ::give_player_shiv;
}
precache_team_characters()
{
precachemodel( "c_zom_player_grief_guard_fb" );
precachemodel( "c_zom_oleary_shortsleeve_viewhands" );
precachemodel( "c_zom_player_grief_inmate_fb" );
precachemodel( "c_zom_grief_guard_viewhands" );
}
give_team_characters()
{
self detachall();
self set_player_is_female( 0 );
if ( !isDefined( self.characterindex ) )
{
self.characterindex = 1;
if ( self.team == "axis" )
{
self.characterindex = 0;
}
}
switch( self.characterindex )
{
case 0:
case 2:
self setmodel( "c_zom_player_grief_inmate_fb" );
self.voice = "american";
self.skeleton = "base";
self setviewmodel( "c_zom_oleary_shortsleeve_viewhands" );
self.characterindex = 0;
break;
case 1:
case 3:
self setmodel( "c_zom_player_grief_guard_fb" );
self.voice = "american";
self.skeleton = "base";
self setviewmodel( "c_zom_grief_guard_viewhands" );
self.characterindex = 1;
break;
}
self setmovespeedscale( 1 );
self setsprintduration( 4 );
self setsprintcooldown( 0 );
}
give_player_shiv()
{
self takeweapon( "knife_zm" );
self giveweapon( "knife_zm_alcatraz" );
}
grief_treasure_chest_init()
{
chest1 = getstruct( "start_chest", "script_noteworthy" );
chest2 = getstruct( "cafe_chest", "script_noteworthy" );
setdvar( "disableLookAtEntityLogic", 1 );
level.chests = [];
level.chests[ level.chests.size ] = chest1;
level.chests[ level.chests.size ] = chest2;
maps\mp\zombies\_zm_magicbox::treasure_chest_init( "start_chest" );
}
main()
{
maps\mp\gametypes_zm\_zm_gametype::setup_standard_objects( "cellblock" );
grief_treasure_chest_init();
precacheshader( "zm_al_wth_zombie" );
array_thread( level.zombie_spawners, ::add_spawn_function, ::remove_zombie_hats_for_grief );
maps\mp\zombies\_zm_ai_brutus::precache();
maps\mp\zombies\_zm_ai_brutus::init();
level.enemy_location_override_func = ::enemy_location_override;
level._effect[ "butterflies" ] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_skull_elec" );
a_t_door_triggers = getentarray( "zombie_door", "targetname" );
triggers = a_t_door_triggers;
i = 0;
while ( i < triggers.size )
{
if ( isDefined( triggers[ i ].script_flag ) )
{
if ( triggers[ i ].script_flag == "activate_cellblock_citadel" || triggers[ i ].script_flag == "activate_shower_room" || triggers[ i ].script_flag == "activate_cellblock_infirmary" || triggers[ i ].script_flag == "activate_infirmary" )
{
triggers[ i ] delete();
i++;
continue;
}
if ( triggers[ i ].script_flag == "activate_cafeteria" || triggers[ i ].script_flag == "activate_cellblock_east" || triggers[ i ].script_flag == "activate_cellblock_west" || triggers[ i ].script_flag == "activate_cellblock_barber" || triggers[ i ].script_flag == "activate_cellblock_gondola" || triggers[ i ].script_flag == "activate_cellblock_east_west" || triggers[ i ].script_flag == "activate_warden_office" )
{
i++;
continue;
}
if ( isDefined( triggers[ i ].target ) )
{
str_target = triggers[ i ].target;
a_door_and_clip = getentarray( str_target, "targetname" );
foreach ( ent in a_door_and_clip )
{
ent delete();
}
}
triggers[ i ] delete();
}
i++;
}
a_t_doors = getentarray( "zombie_door", "targetname" );
foreach ( t_door in a_t_doors )
{
if ( isDefined( t_door.script_flag ) )
{
if ( t_door.script_flag == "activate_cellblock_east_west" || t_door.script_flag == "activate_cellblock_barber" )
{
t_door maps\mp\zombies\_zm_blockers::door_opened( self.zombie_cost );
}
}
}
zbarriers = getzbarrierarray();
a_str_zones = [];
a_str_zones[ 0 ] = "zone_start";
a_str_zones[ 1 ] = "zone_library";
a_str_zones[ 2 ] = "zone_cafeteria";
a_str_zones[ 3 ] = "zone_cafeteria_end";
a_str_zones[ 4 ] = "zone_warden_office";
a_str_zones[ 5 ] = "zone_cellblock_east";
a_str_zones[ 6 ] = "zone_cellblock_west_warden";
a_str_zones[ 7 ] = "zone_cellblock_west_barber";
a_str_zones[ 8 ] = "zone_cellblock_west";
a_str_zones[ 9 ] = "zone_cellblock_west_gondola";
foreach ( barrier in zbarriers )
{
if ( isDefined( barrier.script_noteworthy ) && barrier.script_noteworthy == "cafe_chest_zbarrier" || isDefined( barrier.script_noteworthy ) && barrier.script_noteworthy == "start_chest_zbarrier" )
{
}
else
{
str_model = barrier.model;
b_delete_barrier = 1;
if ( isdefined( barrier.script_string ) )
{
for ( i = 0; i < a_str_zones.size; i++ )
{
if ( str_model == a_str_zones[ i ] )
{
b_delete_barrier = 0;
break;
}
}
}
else if ( b_delete_barrier == 1 )
{
barrier delete();
}
}
}
t_temp = getent( "tower_trap_activate_trigger", "targetname" );
t_temp delete();
t_temp = getent( "tower_trap_range_trigger", "targetname" );
t_temp delete();
e_model = getent( "trap_control_docks", "targetname" );
e_model delete();
e_brush = getent( "tower_shockbox_door", "targetname" );
e_brush delete();
a_t_travel_triggers = getentarray( "travel_trigger", "script_noteworthy" );
foreach ( trigger in a_t_travel_triggers )
{
trigger delete();
}
a_e_gondola_lights = getentarray( "gondola_state_light", "targetname" );
foreach ( light in a_e_gondola_lights )
{
light delete();
}
a_e_gondola_landing_gates = getentarray( "gondola_landing_gates", "targetname" );
foreach ( model in a_e_gondola_landing_gates )
{
model delete();
}
a_e_gondola_landing_doors = getentarray( "gondola_landing_doors", "targetname" );
foreach ( model in a_e_gondola_landing_doors )
{
model delete();
}
a_e_gondola_gates = getentarray( "gondola_gates", "targetname" );
foreach ( model in a_e_gondola_gates )
{
model delete();
}
a_e_gondola_doors = getentarray( "gondola_doors", "targetname" );
foreach ( model in a_e_gondola_doors )
{
model delete();
}
m_gondola = getent( "zipline_gondola", "targetname" );
m_gondola delete();
t_ride_trigger = getent( "gondola_ride_trigger", "targetname" );
t_ride_trigger delete();
a_classic_clips = getentarray( "classic_clips", "targetname" );
foreach ( clip in a_classic_clips )
{
clip connectpaths();
clip delete();
}
a_afterlife_props = getentarray( "afterlife_show", "targetname" );
foreach ( m_prop in a_afterlife_props )
{
m_prop delete();
}
spork_portal = getent( "afterlife_show_spork", "targetname" );
spork_portal delete();
a_audio = getentarray( "at_headphones", "script_noteworthy" );
foreach ( model in a_audio )
{
model delete();
}
m_spoon_pickup = getent( "pickup_spoon", "targetname" );
m_spoon_pickup delete();
t_sq_bg = getent( "sq_bg_reward_pickup", "targetname" );
t_sq_bg delete();
t_crafting_table = getentarray( "open_craftable_trigger", "targetname" );
foreach ( trigger in t_crafting_table )
{
trigger delete();
}
t_warden_fence = getent( "warden_fence_damage", "targetname" );
t_warden_fence delete();
m_plane_about_to_crash = getent( "plane_about_to_crash", "targetname" );
m_plane_about_to_crash delete();
m_plane_craftable = getent( "plane_craftable", "targetname" );
m_plane_craftable delete();
for ( i = 1; i <= 5; i++ )
{
m_key_lock = getent( "masterkey_lock_" + i, "targetname" );
m_key_lock delete();
}
m_shower_door = getent( "shower_key_door", "targetname" );
m_shower_door delete();
m_nixie_door = getent( "nixie_door_left", "targetname" );
m_nixie_door delete();
m_nixie_door = getent( "nixie_door_right", "targetname" );
m_nixie_door delete();
m_nixie_brush = getent( "nixie_tube_weaponclip", "targetname" );
m_nixie_brush delete();
for ( i = 1; i <= 3; i++ )
{
m_nixie_tube = getent( "nixie_tube_" + i, "targetname" );
m_nixie_tube delete();
}
t_elevator_door = getent( "nixie_elevator_door", "targetname" );
t_elevator_door delete();
e_elevator_clip = getent( "elevator_door_playerclip", "targetname" );
e_elevator_clip delete();
e_elevator_bottom_gate = getent( "elevator_bottom_gate_l", "targetname" );
e_elevator_bottom_gate delete();
e_elevator_bottom_gate = getent( "elevator_bottom_gate_r", "targetname" );
e_elevator_bottom_gate delete();
m_docks_puzzle = getent( "cable_puzzle_gate_01", "targetname" );
m_docks_puzzle delete();
m_docks_puzzle = getent( "cable_puzzle_gate_02", "targetname" );
m_docks_puzzle delete();
m_infirmary_case = getent( "infirmary_case_door_left", "targetname" );
m_infirmary_case delete();
m_infirmary_case = getent( "infirmary_case_door_right", "targetname" );
m_infirmary_case delete();
fake_plane_part = getent( "fake_veh_t6_dlc_zombie_part_control", "targetname" );
fake_plane_part delete();
for ( i = 1; i <= 3; i++ )
{
m_generator = getent( "generator_panel_" + i, "targetname" );
m_generator delete();
}
a_m_generator_core = getentarray( "generator_core", "targetname" );
foreach ( generator in a_m_generator_core )
{
generator delete();
}
e_playerclip = getent( "electric_chair_playerclip", "targetname" );
e_playerclip delete();
for ( i = 1; i <= 4; i++ )
{
t_use = getent( "trigger_electric_chair_" + i, "targetname" );
t_use delete();
m_chair = getent( "electric_chair_" + i, "targetname" );
m_chair delete();
}
a_afterlife_interact = getentarray( "afterlife_interact", "targetname" );
foreach ( model in a_afterlife_interact )
{
model turn_afterlife_interact_on();
wait 0.1;
}
flag_wait( "initial_blackscreen_passed" );
maps\mp\zombies\_zm_game_module::turn_power_on_and_open_doors();
flag_wait( "start_zombie_round_logic" );
level thread maps\mp\zm_alcatraz_traps::init_fan_trap_trigs();
level thread maps\mp\zm_alcatraz_traps::init_acid_trap_trigs();
wait 1;
level notify( "sleight_on" );
wait_network_frame();
level notify( "doubletap_on" );
wait_network_frame();
level notify( "juggernog_on" );
wait_network_frame();
level notify( "electric_cherry_on" );
wait_network_frame();
level notify( "deadshot_on" );
wait_network_frame();
level notify( "divetonuke_on" );
wait_network_frame();
level notify( "additionalprimaryweapon_on" );
wait_network_frame();
level notify( "Pack_A_Punch_on" );
wait_network_frame();
}
remove_zombie_hats_for_grief()
{
self detach( "c_zom_guard_hat" );
}
enemy_location_override( zombie, enemy )
{
location = enemy.origin;
if ( is_true( self.reroute ) )
{
if ( isDefined( self.reroute_origin ) )
{
location = self.reroute_origin;
}
}
return location;
}
magicbox_face_spawn()
{
self endon( "disconnect" );
if ( !is_gametype_active( "zgrief" ) )
{
return;
}
while ( 1 )
{
self waittill( "user_grabbed_weapon" );
if ( randomint( 50000 ) == 115 )
{
self playsoundtoplayer( "zmb_easteregg_face", self );
self.wth_elem = newclienthudelem( self );
self.wth_elem.horzalign = "fullscreen";
self.wth_elem.vertalign = "fullscreen";
self.wth_elem.sort = 1000;
self.wth_elem.foreground = 0;
self.wth_elem.alpha = 1;
self.wth_elem setshader( "zm_al_wth_zombie", 640, 480 );
self.wth_elem.hidewheninmenu = 1;
wait 0.25;
self.wth_elem destroy();
}
wait 0.05;
}
}
#using_animtree("fxanim_props");
turn_afterlife_interact_on()
{
if ( self.script_string == "cell_1_powerup_activate" || self.script_string == "intro_powerup_activate" || self.script_string == "cell_2_powerup_activate" || self.script_string == "wires_shower_door" )
{
return;
}
if ( self.script_string == "electric_cherry_on" || self.script_string == "sleight_on" || self.script_string == "wires_admin_door" )
{
if ( !isDefined( level.shockbox_anim ) )
{
level.shockbox_anim[ "on" ] = %fxanim_zom_al_shock_box_on_anim;
level.shockbox_anim[ "off" ] = %fxanim_zom_al_shock_box_off_anim;
}
if ( issubstr( self.model, "p6_zm_al_shock_box" ) )
{
self useanimtree( -1 );
self setmodel( "p6_zm_al_shock_box_on" );
self setanim( level.shockbox_anim[ "on" ] );
}
}
else
{
self delete();
}
}

View File

@ -13,6 +13,18 @@
#include maps\mp\zombies\_zm_unitrigger;
#include maps\mp\zm_buried_gamemodes;
#include scripts\zm\replaced\zm_buried_grief_street;
init()
{
add_map_gamemode( "zclassic", maps\mp\zm_buried::zclassic_preinit, undefined, undefined );
add_map_gamemode( "zcleansed", maps\mp\zm_buried::zcleansed_preinit, undefined, undefined );
add_map_gamemode( "zgrief", maps\mp\zm_buried::zgrief_preinit, undefined, undefined );
add_map_location_gamemode( "zclassic", "processing", maps\mp\zm_buried_classic::precache, maps\mp\zm_buried_classic::main );
add_map_location_gamemode( "zcleansed", "street", maps\mp\zm_buried_turned_street::precache, maps\mp\zm_buried_turned_street::main );
add_map_location_gamemode( "zgrief", "street", scripts\zm\replaced\zm_buried_grief_street::precache, scripts\zm\replaced\zm_buried_grief_street::main );
}
buildbuildable( buildable )
{
player = get_players()[0];

View File

@ -0,0 +1,308 @@
#include maps\mp\gametypes_zm\_zm_gametype;
#include maps\mp\zombies\_zm_buildables;
#include maps\mp\zombies\_zm_magicbox;
#include maps\mp\zombies\_zm_equip_subwoofer;
#include maps\mp\zombies\_zm_equip_springpad;
#include maps\mp\zombies\_zm_equip_turbine;
//#include maps\mp\zombies\_zm_equip_headchopper;
#include maps\mp\zm_buried_buildables;
#include maps\mp\zm_buried_gamemodes;
#include maps\mp\zombies\_zm_race_utility;
#include maps\mp\zombies\_zm_utility;
#include common_scripts\utility;
#include maps\mp\_utility;
precache()
{
// trig = getent("turbine_buildable_trigger", "targetname");
// if(isDefined(trig))
// {
// trig.targetname = "headchopper_buildable_trigger";
// }
precachemodel( "collision_wall_128x128x10_standard" );
precachemodel( "collision_wall_256x256x10_standard" );
precachemodel( "collision_wall_512x512x10_standard" );
precachemodel( "zm_collision_buried_street_grief" );
precachemodel( "p6_zm_bu_buildable_bench_tarp" );
level.chalk_buildable_pieces_hide = 1;
griefbuildables = array( "chalk", "turbine", "springpad_zm", "subwoofer_zm" );
//griefbuildables = array( "chalk", "headchopper_zm", "springpad_zm", "subwoofer_zm" );
maps\mp\zm_buried_buildables::include_buildables( griefbuildables );
maps\mp\zm_buried_buildables::init_buildables( griefbuildables );
maps\mp\zombies\_zm_equip_turbine::init();
maps\mp\zombies\_zm_equip_turbine::init_animtree();
maps\mp\zombies\_zm_equip_springpad::init( &"ZM_BURIED_EQ_SP_PHS", &"ZM_BURIED_EQ_SP_HTS" );
maps\mp\zombies\_zm_equip_subwoofer::init( &"ZM_BURIED_EQ_SW_PHS", &"ZM_BURIED_EQ_SW_HTS" );
//maps\mp\zombies\_zm_equip_headchopper::init( &"ZM_BURIED_EQ_HC_PHS", &"ZM_BURIED_EQ_HC_HTS" );
}
street_treasure_chest_init()
{
start_chest = getstruct( "start_chest", "script_noteworthy" );
court_chest = getstruct( "courtroom_chest1", "script_noteworthy" );
jail_chest = getstruct( "jail_chest1", "script_noteworthy" );
gun_chest = getstruct( "gunshop_chest", "script_noteworthy" );
setdvar( "disableLookAtEntityLogic", 1 );
level.chests = [];
level.chests[ level.chests.size ] = start_chest;
level.chests[ level.chests.size ] = court_chest;
level.chests[ level.chests.size ] = jail_chest;
level.chests[ level.chests.size ] = gun_chest;
chest_names = array("start_chest", "courtroom_chest1", "jail_chest1", "gunshop_chest");
chest_name = random(chest_names);
maps\mp\zombies\_zm_magicbox::treasure_chest_init( chest_name );
}
main()
{
level.buildables_built[ "pap" ] = 1;
level.equipment_team_pick_up = 1;
level thread maps\mp\zombies\_zm_buildables::think_buildables();
maps\mp\gametypes_zm\_zm_gametype::setup_standard_objects( "street" );
street_treasure_chest_init();
generatebuildabletarps();
deletebuildabletarp( "courthouse" );
deletebuildabletarp( "bar" );
deletebuildabletarp( "generalstore" );
deleteslothbarricades();
disable_tunnels();
powerswitchstate( 1 );
level.enemy_location_override_func = ::enemy_location_override;
spawnmapcollision( "zm_collision_buried_street_grief" );
flag_wait( "initial_blackscreen_passed" );
flag_wait( "start_zombie_round_logic" );
wait 1;
builddynamicwallbuys();
buildbuildables();
turnperkon( "revive" );
turnperkon( "doubletap" );
turnperkon( "marathon" );
turnperkon( "juggernog" );
turnperkon( "sleight" );
turnperkon( "additionalprimaryweapon" );
turnperkon( "Pack_A_Punch" );
}
enemy_location_override( zombie, enemy )
{
location = enemy.origin;
if ( isDefined( self.reroute ) && self.reroute )
{
if ( isDefined( self.reroute_origin ) )
{
location = self.reroute_origin;
}
}
return location;
}
builddynamicwallbuys()
{
builddynamicwallbuy( "morgue", "pdw57_zm" );
builddynamicwallbuy( "church", "svu_zm" );
builddynamicwallbuy( "mansion", "an94_zm" );
level notify("dynamicwallbuysbuilt");
}
builddynamicwallbuy( location, weaponname )
{
foreach ( stub in level.chalk_builds )
{
wallbuy = getstruct( stub.target, "targetname" );
if ( isDefined( wallbuy.script_location ) && wallbuy.script_location == location )
{
spawned_wallbuy = undefined;
for ( i = 0; i < level._spawned_wallbuys.size; i++ )
{
if ( level._spawned_wallbuys[ i ].target == wallbuy.targetname )
{
spawned_wallbuy = level._spawned_wallbuys[ i ];
break;
}
}
if ( !isDefined( spawned_wallbuy ) )
{
origin = wallbuy.origin;
// center wallbuy chalk and model, and adjust wallbuy trigger
if(weaponname == "pdw57_zm")
{
origin += anglesToForward(wallbuy.angles) * 12;
wallbuy.origin += anglesToForward(wallbuy.angles) * 3;
}
else if(weaponname == "svu_zm")
{
origin += anglesToForward(wallbuy.angles) * 24;
wallbuy.origin += anglesToForward(wallbuy.angles) * 15;
}
struct = spawnStruct();
struct.target = wallbuy.targetname;
level._spawned_wallbuys[level._spawned_wallbuys.size] = struct;
// move model foreward so it always shows in front of chalk
model = spawn_weapon_model( weaponname, undefined, origin + anglesToRight(wallbuy.angles) * -0.25, wallbuy.angles );
model.targetname = struct.target;
model setmodel( getWeaponModel(weaponname) );
model useweaponhidetags( weaponname );
model hide();
chalk_fx = weaponname + "_fx";
thread scripts\zm\replaced\utility::playchalkfx( chalk_fx, origin, wallbuy.angles );
}
maps\mp\zombies\_zm_weapons::add_dynamic_wallbuy( weaponname, wallbuy.targetname, 1 );
thread wait_and_remove( stub, stub.buildablezone.pieces[ 0 ] );
}
}
}
buildbuildables()
{
// hack for headchopper model
// foreach(stub in level.buildable_stubs)
// {
// if(stub.equipname == "headchopper_zm")
// {
// origin_offset = (anglesToRight(stub.angles) * 8.57037) + (anglesToUp(stub.angles) * 17.78);
// angles_offset = (61.5365, 90.343, 0.216167);
// stub.model setModel("t6_wpn_zmb_chopper");
// stub.model.origin += origin_offset;
// stub.model.angles = stub.angles + angles_offset;
// }
// }
//buildbuildable( "headchopper_zm" );
buildbuildable( "springpad_zm" );
buildbuildable( "subwoofer_zm" );
buildbuildable( "turbine" );
}
disable_tunnels()
{
// stables tunnel entrance
origin = (-1502, -262, 26);
angles = ( 0, 90, 5 );
collision = spawn( "script_model", origin + anglesToUp(angles) * 64 );
collision.angles = angles;
collision setmodel( "collision_wall_128x128x10_standard" );
model = spawn( "script_model", origin + (0, 60, 0) );
model.angles = angles;
model setmodel( "p6_zm_bu_wood_door_bare" );
model = spawn( "script_model", origin + (0, -60, 0) );
model.angles = angles;
model setmodel( "p6_zm_bu_wood_door_bare_right" );
// stables tunnel exit
origin = (-22, -1912, 269);
angles = ( 0, -90, -10 );
collision = spawn( "script_model", origin + anglesToUp(angles) * 128 );
collision.angles = angles;
collision setmodel( "collision_wall_256x256x10_standard" );
model = spawn( "script_model", origin );
model.angles = angles;
model setmodel( "p6_zm_bu_sloth_blocker_medium" );
// saloon tunnel entrance
origin = (488, -1778, 188);
angles = ( 0, 0, -10 );
collision = spawn( "script_model", origin + anglesToUp(angles) * 64 );
collision.angles = angles;
collision setmodel( "collision_wall_128x128x10_standard" );
model = spawn( "script_model", origin );
model.angles = angles;
model setmodel( "p6_zm_bu_sloth_blocker_medium" );
// saloon tunnel exit
origin = (120, -1984, 228);
angles = ( 0, 45, -10 );
collision = spawn( "script_model", origin + anglesToUp(angles) * 128 );
collision.angles = angles;
collision setmodel( "collision_wall_256x256x10_standard" );
model = spawn( "script_model", origin );
model.angles = angles;
model setmodel( "p6_zm_bu_sloth_blocker_medium" );
// main tunnel saloon side
origin = (770, -863, 320);
angles = ( 0, 180, -35 );
collision = spawn( "script_model", origin + anglesToUp(angles) * 128 );
collision.angles = angles;
collision setmodel( "collision_wall_256x256x10_standard" );
model = spawn( "script_model", origin );
model.angles = angles;
model setmodel( "p6_zm_bu_sloth_blocker_medium" );
// main tunnel courthouse side
origin = (349, 579, 240);
angles = ( 0, 0, -10 );
collision = spawn( "script_model", origin + anglesToUp(angles) * 64 );
collision.angles = angles;
collision setmodel( "collision_wall_128x128x10_standard" );
model = spawn( "script_model", origin );
model.angles = angles;
model setmodel( "p6_zm_bu_sloth_blocker_medium" );
// main tunnel above general store
origin = (-123, -801, 326);
angles = ( 0, 0, 90 );
collision = spawn( "script_model", origin );
collision.angles = angles;
collision setmodel( "collision_wall_128x128x10_standard" );
// main tunnel above jail
origin = (-852, 408, 379);
angles = ( 0, 0, 90 );
collision = spawn( "script_model", origin );
collision.angles = angles;
collision setmodel( "collision_wall_512x512x10_standard" );
// main tunnel above stables
origin = (-713, -313, 287);
angles = ( 0, 0, 90 );
collision = spawn( "script_model", origin );
collision.angles = angles;
collision setmodel( "collision_wall_128x128x10_standard" );
// gunsmith debris
debris_trigs = getentarray( "zombie_debris", "targetname" );
foreach ( debris_trig in debris_trigs )
{
if ( debris_trig.target == "pf728_auto2534" )
{
debris_trig delete();
}
}
// zombie spawns
level.zones["zone_tunnel_gun2saloon"].is_enabled = 0;
level.zones["zone_tunnel_gun2saloon"].is_spawning_allowed = 0;
level.zones["zone_tunnel_gun2stables2"].is_enabled = 0;
level.zones["zone_tunnel_gun2stables2"].is_spawning_allowed = 0;
foreach ( spawn_location in level.zones["zone_stables"].spawn_locations )
{
if ( spawn_location.origin == ( -1551, -611, 36.69 ) )
{
spawn_location.is_enabled = false;
}
}
// player spawns
invalid_zones = array("zone_start", "zone_tunnels_center", "zone_tunnels_north", "zone_tunnels_south");
spawn_points = maps\mp\gametypes_zm\_zm_gametype::get_player_spawns_for_gametype();
foreach(spawn_point in spawn_points)
{
if(isinarray(invalid_zones, spawn_point.script_noteworthy))
{
spawn_point.locked = 1;
}
}
}

View File

@ -12,7 +12,10 @@
#include maps\mp\zombies\_zm_utility;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\zm_transit_gamemodes;
#include scripts\zm\replaced\zm_transit_standard_station;
#include scripts\zm\replaced\zm_transit_grief_station;
#include scripts\zm\locs\zm_transit_loc_diner;
#include scripts\zm\locs\zm_transit_loc_power;
#include scripts\zm\locs\zm_transit_loc_tunnel;
@ -25,14 +28,14 @@ init()
add_map_location_gamemode( "zclassic", "transit", maps\mp\zm_transit_classic::precache, maps\mp\zm_transit_classic::main );
add_map_location_gamemode( "zstandard", "transit", maps\mp\zm_transit_standard_station::precache, maps\mp\zm_transit_standard_station::main );
add_map_location_gamemode( "zstandard", "transit", scripts\zm\replaced\zm_transit_standard_station::precache, scripts\zm\replaced\zm_transit_standard_station::main );
add_map_location_gamemode( "zstandard", "farm", maps\mp\zm_transit_standard_farm::precache, maps\mp\zm_transit_standard_farm::main );
add_map_location_gamemode( "zstandard", "town", maps\mp\zm_transit_standard_town::precache, maps\mp\zm_transit_standard_town::main );
add_map_location_gamemode( "zstandard", "diner", scripts\zm\locs\zm_transit_loc_diner::precache, scripts\zm\locs\zm_transit_loc_diner::main );
add_map_location_gamemode( "zstandard", "power", scripts\zm\locs\zm_transit_loc_power::precache, scripts\zm\locs\zm_transit_loc_power::main );
add_map_location_gamemode( "zstandard", "tunnel", scripts\zm\locs\zm_transit_loc_tunnel::precache, scripts\zm\locs\zm_transit_loc_tunnel::main );
add_map_location_gamemode( "zgrief", "transit", maps\mp\zm_transit_grief_station::precache, maps\mp\zm_transit_grief_station::main );
add_map_location_gamemode( "zgrief", "transit", scripts\zm\replaced\zm_transit_grief_station::precache, scripts\zm\replaced\zm_transit_grief_station::main );
add_map_location_gamemode( "zgrief", "farm", maps\mp\zm_transit_grief_farm::precache, maps\mp\zm_transit_grief_farm::main );
add_map_location_gamemode( "zgrief", "town", maps\mp\zm_transit_grief_town::precache, maps\mp\zm_transit_grief_town::main );
add_map_location_gamemode( "zgrief", "diner", scripts\zm\locs\zm_transit_loc_diner::precache, scripts\zm\locs\zm_transit_loc_diner::main );

View File

@ -0,0 +1,118 @@
#include maps\mp\gametypes_zm\zmeat;
#include maps\mp\zombies\_zm_game_module;
#include maps\mp\zombies\_zm_perks;
#include maps\mp\gametypes_zm\_zm_gametype;
#include maps\mp\zombies\_zm_magicbox;
#include maps\mp\zombies\_zm_utility;
#include common_scripts\utility;
#include maps\mp\_utility;
precache()
{
precachemodel( "zm_collision_transit_busdepot_survival" );
}
station_treasure_chest_init()
{
chest1 = getstruct( "depot_chest", "script_noteworthy" );
level.chests = [];
level.chests[ level.chests.size ] = chest1;
maps\mp\zombies\_zm_magicbox::treasure_chest_init( "depot_chest" );
}
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();
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 );
level thread open_electric_doors_on_door_opened();
}
enemy_location_override( zombie, enemy )
{
location = enemy.origin;
if ( is_true( self.reroute ) )
{
if ( isDefined( self.reroute_origin ) )
{
location = self.reroute_origin;
}
}
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

@ -0,0 +1,127 @@
#include maps\mp\zombies\_zm_perks;
#include maps\mp\gametypes_zm\_zm_gametype;
#include maps\mp\zombies\_zm_magicbox;
#include maps\mp\zombies\_zm_race_utility;
#include maps\mp\zombies\_zm_utility;
#include common_scripts\utility;
#include maps\mp\_utility;
precache()
{
precachemodel( "zm_collision_transit_busdepot_survival" );
}
station_treasure_chest_init()
{
chest1 = getstruct( "depot_chest", "script_noteworthy" );
level.chests = [];
level.chests[ level.chests.size ] = chest1;
maps\mp\zombies\_zm_magicbox::treasure_chest_init( "depot_chest" );
}
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();
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 );
level thread open_electric_doors_on_door_opened();
// electric doors showing hintstring
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();
}
}
}
enemy_location_override( zombie, enemy )
{
location = enemy.origin;
if ( is_true( self.reroute ) )
{
if ( isDefined( self.reroute_origin ) )
{
location = self.reroute_origin;
}
}
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

@ -15,6 +15,7 @@ main()
{
precachemodel( "collision_wall_128x128x10_standard" );
replaceFunc(maps\mp\zm_buried_gamemodes::init, scripts\zm\replaced\zm_buried_gamemodes::init);
replaceFunc(maps\mp\zm_buried_gamemodes::buildbuildable, scripts\zm\replaced\zm_buried_gamemodes::buildbuildable);
replaceFunc(maps\mp\zombies\_zm_buildables_pooled::add_buildable_to_pool, scripts\zm\replaced\_zm_buildables_pooled::add_buildable_to_pool);
replaceFunc(maps\mp\zombies\_zm_buildables_pooled::randomize_pooled_buildables, scripts\zm\replaced\_zm_buildables_pooled::randomize_pooled_buildables);

View File

@ -5,6 +5,9 @@
#include maps\mp\zm_alcatraz_utility;
#include scripts\zm\replaced\zm_alcatraz_classic;
#include scripts\zm\replaced\zm_alcatraz_gamemodes;
#include scripts\zm\replaced\zm_alcatraz_utility;
#include scripts\zm\replaced\zm_alcatraz_weap_quest;
#include scripts\zm\replaced\_zm_afterlife;
#include scripts\zm\replaced\_zm_ai_brutus;
#include scripts\zm\replaced\_zm_craftables;
@ -14,6 +17,7 @@
main()
{
replaceFunc(maps\mp\zm_alcatraz_classic::give_afterlife, scripts\zm\replaced\zm_alcatraz_classic::give_afterlife);
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_weap_quest::grief_soul_catcher_state_manager, scripts\zm\replaced\zm_alcatraz_weap_quest::grief_soul_catcher_state_manager);
replaceFunc(maps\mp\zombies\_zm_afterlife::afterlife_add, scripts\zm\replaced\_zm_afterlife::afterlife_add);