#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"); } } }