mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-27 07:30:09 -05:00
Tranzit: add Cornfield location
This commit is contained in:
13
README.md
13
README.md
@ -413,6 +413,7 @@
|
||||
* Added Survival and Grief game modes
|
||||
* Wallbuys: M14, Olympia, MP5, Galvaknuckles
|
||||
* Perks: Juggernog, Quick Revive, Speed Cola, Double Tap
|
||||
* No Pack-a-Punch
|
||||
|
||||
#### Farm
|
||||
* Zombies spawn in the Farm zone when in the Barn zone
|
||||
@ -422,7 +423,7 @@
|
||||
|
||||
#### Power Station
|
||||
* Added Survival and Grief game modes
|
||||
* Wallbuys: M14, Olympia, AK74u, MP5, Bowie Knife
|
||||
* Wallbuys: M14, Olympia, MP5, Ak74u, Remington 870, Bowie Knife
|
||||
* Perks: Juggernog, Quick Revive, Speed Cola, Double Tap, Tombstone Soda
|
||||
* Pack-a-Punch
|
||||
|
||||
@ -434,10 +435,18 @@
|
||||
|
||||
#### Tunnel
|
||||
* Added Survival and Grief game modes
|
||||
* Wallbuys: M14, Olympia, M16, MP5, Semtex
|
||||
* Wallbuys: M14, Olympia, MP5, M16, Semtex
|
||||
* No Mystery Box
|
||||
* Perks: Juggernog, Quick Revive, Speed Cola, Double Tap, Stamin-Up
|
||||
* Pack-a-Punch
|
||||
|
||||
#### Cornfield
|
||||
* Added Survival and Grief game modes
|
||||
* Wallbuys: M14, Olympia, B23R, MP5, Ak74u, M16, Remington 870, Semtex, Claymore
|
||||
* 2 Mystery Box locations
|
||||
* No perks
|
||||
* Pack-a-Punch
|
||||
|
||||
### Die Rise
|
||||
* Moved weapon locker to the downstairs fridge
|
||||
* Zombies no longer spawn in the Upper Blue Highrise zone when in the Trample Steam zone
|
||||
|
236
scripts/zm/locs/zm_transit_loc_cornfield.gsc
Normal file
236
scripts/zm/locs/zm_transit_loc_cornfield.gsc
Normal file
@ -0,0 +1,236 @@
|
||||
#include maps\mp\zombies\_zm_game_module;
|
||||
#include maps\mp\zombies\_zm_utility;
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
#include maps\mp\zombies\_zm;
|
||||
#include maps\mp\zombies\_zm_zonemgr;
|
||||
|
||||
#include scripts\zm\replaced\utility;
|
||||
#include scripts\zm\locs\loc_common;
|
||||
|
||||
struct_init()
|
||||
{
|
||||
scripts\zm\replaced\utility::register_perk_struct( "", "", ( 0, 0, 0 ), ( 0, 0, 0 ) ); // need this for pap to work
|
||||
scripts\zm\replaced\utility::register_perk_struct( "specialty_weapupgrade", "p6_anim_zm_buildable_pap_on", ( 10460, -564, -220 ), ( 0, -35, 0 ) );
|
||||
|
||||
ind = 0;
|
||||
respawnpoints = maps\mp\gametypes_zm\_zm_gametype::get_player_spawns_for_gametype();
|
||||
for(i = 0; i < respawnpoints.size; i++)
|
||||
{
|
||||
if(respawnpoints[i].script_noteworthy == "zone_amb_cornfield")
|
||||
{
|
||||
ind = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
level.struct_class_names["script_noteworthy"]["initial_spawn"] = [];
|
||||
|
||||
respawn_array = getstructarray(respawnpoints[ind].target, "targetname");
|
||||
foreach(respawn in respawn_array)
|
||||
{
|
||||
origin = respawn.origin + (anglesToRight(respawn.angles) * 32);
|
||||
angles = respawn.angles;
|
||||
script_int = 1;
|
||||
|
||||
scripts\zm\replaced\utility::register_map_initial_spawnpoint( origin, angles, script_int );
|
||||
|
||||
origin = respawn.origin + (anglesToRight(respawn.angles) * -32);
|
||||
angles = respawn.angles;
|
||||
script_int = 2;
|
||||
|
||||
scripts\zm\replaced\utility::register_map_initial_spawnpoint( origin, angles, script_int );
|
||||
}
|
||||
|
||||
structs = getstructarray( "game_mode_object", "targetname" );
|
||||
foreach ( struct in structs )
|
||||
{
|
||||
if ( isDefined( struct.script_noteworthy ) && struct.script_noteworthy == "cornfield" )
|
||||
{
|
||||
struct.script_string = "zstandard zgrief";
|
||||
}
|
||||
}
|
||||
|
||||
intermission_cam = spawnStruct();
|
||||
intermission_cam.origin = (10266, 470, -90);
|
||||
intermission_cam.angles = (0, -90, 0);
|
||||
intermission_cam.targetname = "intermission";
|
||||
intermission_cam.script_string = "cornfield";
|
||||
intermission_cam.speed = 30;
|
||||
intermission_cam.target = "intermission_cornfield_end";
|
||||
scripts\zm\replaced\utility::add_struct(intermission_cam);
|
||||
|
||||
intermission_cam_end = spawnStruct();
|
||||
intermission_cam_end.origin = (10216, -1224, -199);
|
||||
intermission_cam_end.angles = (0, -90, 0);
|
||||
intermission_cam_end.targetname = "intermission_cornfield_end";
|
||||
scripts\zm\replaced\utility::add_struct(intermission_cam_end);
|
||||
}
|
||||
|
||||
precache()
|
||||
{
|
||||
start_chest_zbarrier = getEnt( "start_chest_zbarrier", "script_noteworthy" );
|
||||
start_chest_zbarrier.origin = ( 13487, 33, -182 );
|
||||
start_chest_zbarrier.angles = ( 0, 90, 0 );
|
||||
start_chest = spawnStruct();
|
||||
start_chest.origin = start_chest_zbarrier.origin;
|
||||
start_chest.angles = start_chest_zbarrier.angles;
|
||||
start_chest.script_noteworthy = "start_chest";
|
||||
start_chest.zombie_cost = 950;
|
||||
collision = spawn( "script_model", start_chest_zbarrier.origin, 1 );
|
||||
collision.angles = start_chest_zbarrier.angles;
|
||||
collision setmodel( "collision_clip_32x32x128" );
|
||||
collision disconnectpaths();
|
||||
collision = spawn( "script_model", start_chest_zbarrier.origin - ( 0, 32, 0 ), 1 );
|
||||
collision.angles = start_chest_zbarrier.angles;
|
||||
collision setmodel( "collision_clip_32x32x128" );
|
||||
collision disconnectpaths();
|
||||
collision = spawn( "script_model", start_chest_zbarrier.origin + ( 0, 32, 0 ), 1 );
|
||||
collision.angles = start_chest_zbarrier.angles;
|
||||
collision setmodel( "collision_clip_32x32x128" );
|
||||
collision disconnectpaths();
|
||||
|
||||
start_chest2_zbarrier = getEnt( "depot_chest_zbarrier", "script_noteworthy" );
|
||||
start_chest2_zbarrier.origin = ( 7458, -464, -197 );
|
||||
start_chest2_zbarrier.angles = ( 0, -90, 0 );
|
||||
start_chest2 = spawnStruct();
|
||||
start_chest2.origin = start_chest2_zbarrier.origin;
|
||||
start_chest2.angles = start_chest2_zbarrier.angles;
|
||||
start_chest2.script_noteworthy = "depot_chest";
|
||||
start_chest2.zombie_cost = 950;
|
||||
collision = spawn( "script_model", start_chest2_zbarrier.origin, 1 );
|
||||
collision.angles = start_chest2_zbarrier.angles;
|
||||
collision setmodel( "collision_clip_32x32x128" );
|
||||
collision disconnectpaths();
|
||||
collision = spawn( "script_model", start_chest2_zbarrier.origin - ( 0, 32, 0 ), 1 );
|
||||
collision.angles = start_chest2_zbarrier.angles;
|
||||
collision setmodel( "collision_clip_32x32x128" );
|
||||
collision disconnectpaths();
|
||||
collision = spawn( "script_model", start_chest2_zbarrier.origin + ( 0, 32, 0 ), 1 );
|
||||
collision.angles = start_chest2_zbarrier.angles;
|
||||
collision setmodel( "collision_clip_32x32x128" );
|
||||
collision disconnectpaths();
|
||||
|
||||
level.chests = [];
|
||||
level.chests[0] = start_chest;
|
||||
level.chests[1] = start_chest2;
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
init_wallbuys();
|
||||
init_barriers();
|
||||
setup_standard_objects("cornfield");
|
||||
maps\mp\zombies\_zm_magicbox::treasure_chest_init( random( array( "start_chest", "depot_chest" ) ) );
|
||||
thread disable_zombie_spawn_locations();
|
||||
scripts\zm\locs\loc_common::init();
|
||||
}
|
||||
|
||||
init_wallbuys()
|
||||
{
|
||||
scripts\zm\replaced\utility::wallbuy( "m14_zm", "m14", "weapon_upgrade", ( 13663, -1166, -134 ), ( 0, -90, 0 ) );
|
||||
scripts\zm\replaced\utility::wallbuy( "rottweil72_zm", "olympia", "weapon_upgrade", ( 13554, -539, -133 ), ( 0, -90, 0 ) );
|
||||
scripts\zm\replaced\utility::wallbuy( "beretta93r_zm", "beretta93r", "weapon_upgrade", ( 13793, -1644, -105 ), ( 0, 0, 0 ) );
|
||||
scripts\zm\replaced\utility::wallbuy( "mp5k_zm", "mp5", "weapon_upgrade", ( 13554, -769, -133 ), ( 0, -90, 0 ) );
|
||||
scripts\zm\replaced\utility::wallbuy( "ak74u_zm", "ak74u", "weapon_upgrade", ( 13978, -1550, -134 ), ( 0, 90, 0 ) );
|
||||
scripts\zm\replaced\utility::wallbuy( "m16_zm", "m16", "weapon_upgrade", ( 14092, -351, -133 ), ( 0, 90, 0 ) );
|
||||
scripts\zm\replaced\utility::wallbuy( "870mcs_zm", "870mcs", "weapon_upgrade", ( 13554, -1387, -134 ), ( 0, -90, 0 ) );
|
||||
scripts\zm\replaced\utility::wallbuy( "sticky_grenade_zm", "sticky_grenade", "weapon_upgrade", ( 13603, -1079, -134 ), ( 0, 0, 0 ) );
|
||||
scripts\zm\replaced\utility::wallbuy( "claymore_zm", "claymore", "claymore_purchase", ( 13603, -1282, -134 ), ( 0, -180, 0 ) );
|
||||
}
|
||||
|
||||
init_barriers()
|
||||
{
|
||||
model = spawn( "script_model", (10176.5, -14.8391, -221.988), 1);
|
||||
model.angles = (0, 35, 0);
|
||||
model setmodel("collision_clip_wall_256x256x10");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10002.6, -95.4607, -212.275), 1);
|
||||
model.angles = (0, 0, 0);
|
||||
model setmodel("collision_clip_wall_128x128x10");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10173.4, -1761.36, -217.812), 1);
|
||||
model.angles = (0, -60, 0);
|
||||
model setmodel("collision_clip_wall_128x128x10");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10147.5, -1657.67, -217.208), 1);
|
||||
model.angles = (0, 88, 0);
|
||||
model setmodel("collision_clip_wall_256x256x10");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10082.7, -1528.05, -217.288), 1);
|
||||
model.angles = (0, -180, 0);
|
||||
model setmodel("collision_clip_wall_128x128x10");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10159.6, -1104.45, -214.861), 1);
|
||||
model.angles = (0, -30, 0);
|
||||
model setmodel("collision_clip_64x64x256");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10157.4, -1222.83, -217.875), 1);
|
||||
model.angles = (0, 10, 0);
|
||||
model setmodel("collision_clip_64x64x256");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10216.6, -1134.53, -217.261), 1);
|
||||
model.angles = (0, -30, 0);
|
||||
model setmodel("collision_clip_64x64x256");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10147.4, -1152.83, -217.875), 1);
|
||||
model.angles = (0, 10, 0);
|
||||
model setmodel("collision_clip_64x64x256");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10099.6, -1064.45, -214.861), 1);
|
||||
model.angles = (0, -30, 0);
|
||||
model setmodel("collision_clip_64x64x256");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10016.8, -1490.24, -217.875), 1);
|
||||
model.angles = (0, -30, 0);
|
||||
model setmodel("collision_clip_128x128x128");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10443.9, -353.378, -217.748), 1);
|
||||
model.angles = (0, -35, 0);
|
||||
model setmodel("collision_clip_128x128x128");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10393.5, -421.323, -220.142), 1);
|
||||
model.angles = (0, -25, 0);
|
||||
model setmodel("collision_clip_128x128x128");
|
||||
model disconnectpaths();
|
||||
|
||||
model = spawn( "script_model", (10334.9, -544.594, -217.922), 1);
|
||||
model.angles = (0, -25, 0);
|
||||
model setmodel("collision_clip_128x128x128");
|
||||
model disconnectpaths();
|
||||
}
|
||||
|
||||
disable_zombie_spawn_locations()
|
||||
{
|
||||
for ( z = 0; z < level.zone_keys.size; z++ )
|
||||
{
|
||||
zone_name = level.zone_keys[z];
|
||||
if(zone_name == "zone_amb_cornfield")
|
||||
{
|
||||
zone = level.zones[ zone_name ];
|
||||
|
||||
i = 0;
|
||||
while ( i < zone.spawn_locations.size )
|
||||
{
|
||||
if (zone.spawn_locations[i].origin == (8394, -2545, -205.16))
|
||||
{
|
||||
zone.spawn_locations[i].is_enabled = false;
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -351,6 +351,28 @@ add_missing_perk_machines()
|
||||
}
|
||||
}
|
||||
}
|
||||
else if((level.script == "zm_transit" && level.scr_zm_map_start_location == "cornfield"))
|
||||
{
|
||||
if(isDefined(struct.script_noteworthy) && struct.script_noteworthy == "specialty_armorvest")
|
||||
{
|
||||
if(isDefined(struct.script_string) && isSubStr(struct.script_string, "zclassic_perks_transit"))
|
||||
{
|
||||
struct.script_string += " zgrief_perks_cornfield";
|
||||
struct.origin = (9985, -91, -213);
|
||||
struct.angles = (0, 30, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if(isDefined(struct.script_noteworthy) && struct.script_noteworthy == "specialty_fastreload")
|
||||
{
|
||||
if(isDefined(struct.script_string) && isSubStr(struct.script_string, "zclassic_perks_transit"))
|
||||
{
|
||||
struct.script_string += " zgrief_perks_cornfield";
|
||||
struct.origin = (10257, -1802, -212);
|
||||
struct.angles = (0, 180, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if((level.script == "zm_prison" && level.scr_zm_map_start_location == "cellblock"))
|
||||
{
|
||||
if(isDefined(struct.script_noteworthy) && struct.script_noteworthy == "specialty_rof")
|
||||
|
@ -34,6 +34,7 @@ init()
|
||||
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( "zstandard", "cornfield", scripts\zm\locs\zm_transit_loc_cornfield::precache, scripts\zm\locs\zm_transit_loc_cornfield::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 );
|
||||
@ -41,6 +42,7 @@ init()
|
||||
add_map_location_gamemode( "zgrief", "diner", scripts\zm\locs\zm_transit_loc_diner::precache, scripts\zm\locs\zm_transit_loc_diner::main );
|
||||
add_map_location_gamemode( "zgrief", "power", scripts\zm\locs\zm_transit_loc_power::precache, scripts\zm\locs\zm_transit_loc_power::main );
|
||||
add_map_location_gamemode( "zgrief", "tunnel", scripts\zm\locs\zm_transit_loc_tunnel::precache, scripts\zm\locs\zm_transit_loc_tunnel::main );
|
||||
add_map_location_gamemode( "zgrief", "cornfield", scripts\zm\locs\zm_transit_loc_cornfield::precache, scripts\zm\locs\zm_transit_loc_cornfield::main );
|
||||
|
||||
scripts\zm\replaced\utility::add_struct_location_gamemode_func( "zstandard", "diner", scripts\zm\locs\zm_transit_loc_diner::struct_init );
|
||||
scripts\zm\replaced\utility::add_struct_location_gamemode_func( "zgrief", "diner", scripts\zm\locs\zm_transit_loc_diner::struct_init );
|
||||
@ -48,4 +50,6 @@ init()
|
||||
scripts\zm\replaced\utility::add_struct_location_gamemode_func( "zgrief", "power", scripts\zm\locs\zm_transit_loc_power::struct_init );
|
||||
scripts\zm\replaced\utility::add_struct_location_gamemode_func( "zstandard", "tunnel", scripts\zm\locs\zm_transit_loc_tunnel::struct_init );
|
||||
scripts\zm\replaced\utility::add_struct_location_gamemode_func( "zgrief", "tunnel", scripts\zm\locs\zm_transit_loc_tunnel::struct_init );
|
||||
scripts\zm\replaced\utility::add_struct_location_gamemode_func( "zstandard", "cornfield", scripts\zm\locs\zm_transit_loc_cornfield::struct_init );
|
||||
scripts\zm\replaced\utility::add_struct_location_gamemode_func( "zgrief", "cornfield", scripts\zm\locs\zm_transit_loc_cornfield::struct_init );
|
||||
}
|
@ -2915,6 +2915,10 @@ containment_get_zones()
|
||||
{
|
||||
containment_zones = array("zone_amb_tunnel");
|
||||
}
|
||||
else if(level.scr_zm_map_start_location == "cornfield")
|
||||
{
|
||||
containment_zones = array("zone_cornfield_prototype");
|
||||
}
|
||||
}
|
||||
else if(level.script == "zm_prison")
|
||||
{
|
||||
|
@ -45,7 +45,6 @@ precache_map_strings()
|
||||
precachestring(&"ZMUI_TOWN");
|
||||
precachestring(&"ZMUI_DINER");
|
||||
precachestring(&"ZMUI_TUNNEL");
|
||||
precachestring(&"ZMUI_POWER");
|
||||
precachestring(&"ZMUI_CELLBLOCK");
|
||||
precachestring(&"ZMUI_STREET_LOC");
|
||||
}
|
||||
@ -57,6 +56,7 @@ precache_map_images()
|
||||
preCacheShader("loadscreen_zm_transit_zgrief_town");
|
||||
preCacheShader("loadscreen_zm_transit_zgrief_power");
|
||||
preCacheShader("loadscreen_zm_transit_zgrief_tunnel");
|
||||
preCacheShader("loadscreen_zm_transit_zgrief_cornfield");
|
||||
preCacheShader("loadscreen_zm_transit_dr_zcleansed_diner");
|
||||
preCacheShader("loadscreen_zm_prison_zgrief_cellblock");
|
||||
preCacheShader("loadscreen_zm_buried_zgrief_street");
|
||||
@ -545,6 +545,10 @@ get_name_for_loc(locname)
|
||||
{
|
||||
return &"ZMUI_TUNNEL";
|
||||
}
|
||||
else if (locname == "cornfield")
|
||||
{
|
||||
return "Cornfield";
|
||||
}
|
||||
else if (locname == "cellblock")
|
||||
{
|
||||
return &"ZMUI_CELLBLOCK";
|
||||
|
Reference in New Issue
Block a user