1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-26 07:00:25 -05:00
Files
BO2-Reimagined/scripts/zm/locs/zm_transit_loc_diner.gsc
2024-01-08 16:36:21 -08:00

213 lines
7.6 KiB
Plaintext

#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;
struct_init()
{
scripts\zm\replaced\utility::register_perk_struct("specialty_armorvest", "zombie_vending_jugg", (-3563, -7196, -59), (0, 0, 0));
scripts\zm\replaced\utility::register_perk_struct("specialty_quickrevive", "zombie_vending_quickrevive", (-6207, -6541, -46), (0, 60, 0));
scripts\zm\replaced\utility::register_perk_struct("specialty_fastreload", "zombie_vending_sleight", (-5470, -7859.5, 0), (0, 270, 0));
scripts\zm\replaced\utility::register_perk_struct("specialty_rof", "zombie_vending_doubletap2", (-4170, -7592, -63), (0, 270, 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_gas")
{
ind = i;
break;
}
}
zone = "zone_gas";
scripts\zm\replaced\utility::register_map_spawn_group(respawnpoints[ind].origin, zone, respawnpoints[ind].script_int);
respawn_array = getstructarray(respawnpoints[ind].target, "targetname");
foreach (respawn in respawn_array)
{
if (respawn.script_int == 2)
{
respawn.angles += (0, 180, 0);
}
scripts\zm\replaced\utility::register_map_spawn(respawn.origin, respawn.angles, zone, respawn.script_int);
}
zone = "zone_roadside_east";
scripts\zm\replaced\utility::register_map_spawn_group((-4173, -7095, -35), zone, 6000);
scripts\zm\replaced\utility::register_map_spawn((-4031, -6830, -18), (0, 180, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-4106, -6830, -18), (0, 180, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-4181, -6830, -18), (0, 180, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-4256, -6830, -18), (0, 180, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-4031, -7326, -35), (0, 180, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-4106, -7326, -35), (0, 180, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-4181, -7326, -35), (0, 180, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-4256, -7326, -35), (0, 180, 0), zone);
zone = "zone_roadside_west";
scripts\zm\replaced\utility::register_map_spawn_group((-5799, -6839, -30), zone, 6000);
scripts\zm\replaced\utility::register_map_spawn((-6120, -6684, -30), (0, 0, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-6045, -6684, -30), (0, 0, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-5970, -6684, -30), (0, 0, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-5895, -6684, -30), (0, 0, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-6120, -6984, -30), (0, 0, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-6045, -6984, -30), (0, 0, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-5970, -6984, -30), (0, 0, 0), zone);
scripts\zm\replaced\utility::register_map_spawn((-5895, -6984, -30), (0, 0, 0), zone);
gameObjects = getEntArray("script_model", "classname");
foreach (object in gameObjects)
{
if (isDefined(object.script_noteworthy) && object.script_noteworthy == getDvar("ui_zm_mapstartlocation"))
{
if (isDefined(object.script_gameobjectname) && object.script_gameobjectname == "zcleansed zturned")
{
object.script_gameobjectname = "zstandard zgrief zcleansed zturned";
if (object.origin == (-6460.7, -7115, 6.8))
{
object setModel("veh_t6_civ_microbus_dead");
object.origin += anglesToUp(object.angles) * -65;
object.origin += anglesToForward(object.angles) * 125;
}
else if (object.origin == (-6550.5, -6901.7, 6.8))
{
object setModel("veh_t6_civ_smallwagon_dead");
object.origin += anglesToUp(object.angles) * -60;
object.origin += anglesToForward(object.angles) * 150;
}
else if (object.origin == (-6251.1, -6449.4, 20.8))
{
object setModel("veh_t6_civ_60s_coupe_dead");
object.origin += anglesToUp(object.angles) * -60;
object.origin += anglesToForward(object.angles) * 125;
object.origin += anglesToRight(object.angles) * 25;
}
else if (object.origin == (-5822.9, -6434.6, 20.8))
{
object setModel("p6_zm_rocks_medium_05");
object.origin += anglesToUp(object.angles) * -80;
object.origin += anglesToForward(object.angles) * 50;
object.origin += anglesToRight(object.angles) * 100;
}
else if (object.origin == (-5589.5, -6310.3, 24.8))
{
object setModel("p6_zm_rocks_medium_05");
object.origin += anglesToUp(object.angles) * -80;
object.origin += anglesToForward(object.angles) * 50;
object.origin += anglesToRight(object.angles) * 125;
}
else if (object.origin == (-4813, -6665.3, 0.8))
{
object setModel("veh_t6_civ_60s_coupe_dead");
object.origin += anglesToUp(object.angles) * -65;
object.origin += anglesToForward(object.angles) * 100;
}
else if (object.origin == (-3978.4, -6484.9, 0.8))
{
object setModel("veh_t6_civ_smallwagon_dead");
object.origin += anglesToUp(object.angles) * -60;
object.origin += anglesToForward(object.angles) * 125;
}
else if (object.origin == (-3902.4, -6884.9, 0.8))
{
object setModel("veh_t6_civ_microbus_dead");
object.origin += anglesToUp(object.angles) * -65;
object.origin += anglesToForward(object.angles) * 50;
}
}
}
}
}
precache()
{
}
main()
{
level.zones["zone_diner_roof"].is_enabled = 0;
level.zones["zone_trans_diner2"].is_enabled = 0;
treasure_chest_init();
init_barriers();
generatebuildabletarps();
disable_zombie_spawn_locations();
scripts\zm\locs\loc_common::init();
}
treasure_chest_init()
{
chests = getstructarray("treasure_chest_use", "targetname");
level.chests = [];
level.chests[0] = chests[3];
maps\mp\zombies\_zm_magicbox::treasure_chest_init("start_chest");
}
init_barriers()
{
collision = spawn("script_model", (-5000, -6700, 0), 1);
collision setmodel("zm_collision_transit_diner_survival");
collision disconnectpaths();
origin = (-6350, -7046, -60);
angles = (0, 165, 0);
scripts\zm\replaced\utility::barrier("collision_player_wall_64x64x10", origin + (anglesToUp(angles) * 32), angles);
scripts\zm\replaced\utility::barrier("collision_player_wall_64x64x10", origin + (anglesToUp(angles) * 96), angles);
scripts\zm\replaced\utility::barrier("afr_barrel_biohazard_white_rust", origin + (anglesToForward(angles) * -24) + (anglesToRight(angles) * -16) + (anglesToUp(angles) * 14), angles + (0, 90, 90));
}
generatebuildabletarps()
{
tarp = spawn("script_model", (-4688, -7974, -64));
tarp.angles = (0, 0, 0);
tarp setModel("p6_zm_buildable_bench_tarp");
}
disable_zombie_spawn_locations()
{
for (z = 0; z < level.zone_keys.size; z++)
{
zone = level.zones[level.zone_keys[z]];
i = 0;
while (i < zone.spawn_locations.size)
{
if (zone.spawn_locations[i].targetname == "zone_trans_diner_spawners")
{
zone.spawn_locations[i].is_enabled = false;
}
else if (zone.spawn_locations[i].targetname == "zone_trans_diner2_spawners")
{
zone.spawn_locations[i].is_enabled = false;
}
else if (zone.spawn_locations[i].origin == (-3825, -6576, -52.7))
{
zone.spawn_locations[i].is_enabled = false;
}
else if (zone.spawn_locations[i].origin == (-5130, -6512, -35.4))
{
zone.spawn_locations[i].is_enabled = false;
}
else if (zone.spawn_locations[i].origin == (-6462, -7159, -64))
{
zone.spawn_locations[i].is_enabled = false;
}
else if (zone.spawn_locations[i].origin == (-6531, -6613, -54.4))
{
zone.spawn_locations[i].is_enabled = false;
}
i++;
}
}
}