Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
init()
{
level.doCustomMap = 0;
level.doorwait = 0.3;
level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
precacheModel( level.elevator_model["enter"] );
precacheModel( level.elevator_model["exit"] );
wait 1;
if(getDvar("mapname") == "mp_afghan"){ /** Afghan **/
level thread Afghan();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_boneyard"){ /** Scrapyard **/
level thread Scrapyard();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_brecourt"){ /** Wasteland **/
level thread Wasteland();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_checkpoint"){ /** Karachi **/
level thread Karachi();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_derail"){ /** Derail **/
level thread Derail();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_estate"){ /** Estate **/
level thread Estate();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_favela"){ /** Favela **/
level thread Favela();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_highrise"){ /** HighRise **/
level thread HighRise();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_nightshift"){ /** Skidrow **/
level thread Skidrow();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_invasion"){ /** Invasion **/
level thread Invasion();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_quarry"){ /** Quarry **/
level thread Quarry();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_rundown"){ /** Rundown **/
level thread Rundown();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_rust"){ /** Rust **/
level thread Rust();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_subbase"){ /** SubBase **/
level thread SubBase();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_terminal"){ /** Terminal **/
level thread Terminal();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_underpass"){ /** Underpass **/
level thread Underpass();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_strike"){ /** Strike **/
level thread Strike();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_crash"){ /** Crash **/
level thread Crash();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_compact"){ /** Salvage **/
level thread Salvage();
level.doCustomMap = 1;
}
if(getDvar("mapname") == "mp_overgrown"){ /** Overgrown **/
level thread Overgrown();
level.doCustomMap = 1;
}
if(level.doCustomMap == 1){
level.gameState = "starting";
//if(!level.testing)
level thread CreateMapWait();
//
} else {
level.gameState = "starting";
wait 15;
level notify("CREATED");
}
}
CreateMapWait()
{
level.TimerText destroy();
level.Timer destroy();
level.TimerText = level createServerFontString( "objective", 1.5 );
level.TimerText setPoint( "CENTER", "CENTER", 0, -100 );
level.TimerText setText("^3Wait for the map to be created:");
level.Timer = level createServerFontString( "objective", 2 );
level.Timer setPoint( "CENTER", "CENTER", 0, -75 );
level.Timer.color = (1,1,0);
for(i = 30; i > 0; i--)
{
level.Timer setValue(i);
foreach(player in level.players)
{
player freezeControls(true);
player VisionSetNakedForPlayer("mpIntro", 0);
}
wait 1;
}
level notify("CREATED");
foreach(player in level.players)
{
player freezeControls(false);
player VisionSetNakedForPlayer(getDvar("mapname"), 0);
}
}
CreateCustomSpawnPointsCircle(center, radius, team)
{
rings = roundUp(radius/50);
for(r = 1; r <= rings; r++){
for(t = 0; t < 360; t += 30){
x = 50 * r * Cos(t);
y = 50 * r * Sin(t);
pos = (center + (x, y, 0));
if(team == "allies" || team == "all"){
level.CustomSpawnPoints["allies"][level.CustomSpawnPoints["allies"].size] = pos;
}
if(team == "axis" || team == "all"){
level.CustomSpawnPoints["axis"][level.CustomSpawnPoints["axis"].size] = pos;
}
}
}
}
CreateCustomSpawnPointsBox(corner1, corner2, team)
{
W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
L = Distance((0, corner1[1], 0), (0, corner2[1], 0));
CX = corner2[0] - corner1[0];
CY = corner2[1] - corner1[1];
ROWS = roundUp(W/50);
COLUMNS = roundUp(L/50);
XA = CX/ROWS;
YA = CY/COLUMNS;
for(r = 0; r <= ROWS; r++){
for(c = 0; c <= COLUMNS; c++){
pos = (corner1 + (XA * r, YA * c, 0));
if(team == "allies" || team == "all"){
level.CustomSpawnPoints["allies"][level.CustomSpawnPoints["allies"].size] = pos;
}
if(team == "axis" || team == "all"){
level.CustomSpawnPoints["axis"][level.CustomSpawnPoints["axis"].size] = pos;
}
}
}
}
CreateCustomSpawnPointsPoint(pos, team)
{
if(team == "allies" || team == "all"){
level.CustomSpawnPoints["allies"][level.CustomSpawnPoints["allies"].size] = pos;
}
if(team == "axis" || team == "all"){
level.CustomSpawnPoints["axis"][level.CustomSpawnPoints["axis"].size] = pos;
}
}
CreateElevator(enter, exit, angle)
{
flag = spawn( "script_model", enter );
flag setModel( level.elevator_model["enter"] );
wait 0.01;
efx = loadfx( "misc/flare_ambient" );
playFx( efx, enter );
flag showInMap();
wait 0.01;
flag = spawn( "script_model", exit );
flag setModel( level.elevator_model["exit"] );
wait 0.01;
self thread ElevatorThink(enter, exit, angle);
}
showInMap()
{
self endon ( "disconnect" );
self endon ( "death" );
curObjID = maps\mp\gametypes\_gameobjects::getNextObjID();
name = precacheShader( "compass_waypoint_panic" );
objective_add( curObjID, "invisible", (0,0,0) );
objective_position( curObjID, self.origin );
objective_state( curObjID, "active" );
objective_team( curObjID, self.team );
objective_icon( curObjID, name );
self.objIdFriendly = curObjID;
}
CreateBlocks(pos, angle)
{
block = spawn("script_model", pos );
block setModel("com_plasticcase_friendly");
block.angles = angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.01;
}
CreateDoors(open, close, xangle, yangle, zangle, size, height, hp, range)
{
offset = (((size / 2) - 0.5) * -1);
center = spawn("script_model", open );
for(j = 0; j < size; j++){
door = spawn("script_model", open + ((0, 30, 0) * offset));
door setModel("com_plasticcase_enemy");
door Solid();
door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
door EnableLinkTo();
door LinkTo(center);
for(h = 1; h < height; h++){
door = spawn("script_model", open + ((0, 30, 0) * offset) - ((70, 0, 0) * h));
door setModel("com_plasticcase_enemy");
door Solid();
door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
door EnableLinkTo();
door LinkTo(center);
}
offset += 1;
}
if(!isDefined(yangle)){
Temp = VectorToAngles(open - close);
yangle = Temp[1]-90;
}
center.angles = (xangle, yangle, zangle);
center.state = "open";
center.maxhp = hp;
center.hp = hp;
center.range = range;
center thread DoorThinkUse(open, close);
center thread DoorThinkRepair();
center thread DoorUse();
center thread ResetDoors(open, hp);
wait 0.01;
}
CreateRamps(top, bottom)
{
D = Distance(top, bottom);
blocks = roundUp(D/30);
CX = top[0] - bottom[0];
CY = top[1] - bottom[1];
CZ = top[2] - bottom[2];
XA = CX/blocks;
YA = CY/blocks;
ZA = CZ/blocks;
CXY = Distance((top[0], top[1], 0), (bottom[0], bottom[1], 0));
Temp = VectorToAngles(top - bottom);
BA = (Temp[2], Temp[1] + 90, Temp[0]);
for(b = 0; b < blocks; b++){
block = spawn("script_model", (bottom + ((XA, YA, ZA) * b)));
block setModel("com_plasticcase_friendly");
block.angles = BA;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.01;
}
block = spawn("script_model", (bottom + ((XA, YA, ZA) * blocks) - (0, 0, 5)));
block setModel("com_plasticcase_friendly");
block.angles = (BA[0], BA[1], 0);
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.01;
}
CreateBridge(point1, point2, point3)
{
points = [];
points[0] = point1;
points[1] = point2;
points[2] = point3;
for(i = 0; i < points.size; i++){
if(!isDefined(points[i+1])){
return;
}
D = Distance(points[i], points[i+1]);
blocks = roundUp(D/30);
CX = points[i][0] - points[i+1][0];
CY = points[i][1] - points[i+1][1];
CZ = points[i][2] - points[i+1][2];
XA = CX/blocks;
YA = CY/blocks;
ZA = CZ/blocks;
CXY = Distance((points[i][0], points[i][1], 0), (points[i+1][0], points[i+1][1], 0));
Temp = VectorToAngles(points[i] - points[i+1]);
BA = (Temp[2], Temp[1] + 90, Temp[0]);
for(b = 0; b <= blocks; b++){
block = spawn("script_model", (points[i+1] + ((XA, YA, ZA) * b)));
block setModel("com_plasticcase_friendly");
block.angles = BA;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.01;
}
}
}
CreateGrids(corner1, corner2, angle)
{
W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
L = Distance((0, corner1[1], 0), (0, corner2[1], 0));
H = Distance((0, 0, corner1[2]), (0, 0, corner2[2]));
CX = corner2[0] - corner1[0];
CY = corner2[1] - corner1[1];
CZ = corner2[2] - corner1[2];
ROWS = roundUp(W/55);
COLUMNS = roundUp(L/30);
HEIGHT = roundUp(H/20);
XA = CX/ROWS;
YA = CY/COLUMNS;
ZA = CZ/HEIGHT;
center = spawn("script_model", corner1);
for(r = 0; r <= ROWS; r++){
for(c = 0; c <= COLUMNS; c++){
for(h = 0; h <= HEIGHT; h++){
block = spawn("script_model", (corner1 + (XA * r, YA * c, ZA * h)));
block setModel("com_plasticcase_friendly");
block.angles = (0, 0, 0);
block Solid();
block LinkTo(center);
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.01;
}
}
}
center.angles = angle;
}
CreateWalls(start, end)
{
D = Distance((start[0], start[1], 0), (end[0], end[1], 0));
H = Distance((0, 0, start[2]), (0, 0, end[2]));
blocks = roundUp(D/55);
height = roundUp(H/30);
CX = end[0] - start[0];
CY = end[1] - start[1];
CZ = end[2] - start[2];
XA = (CX/blocks);
YA = (CY/blocks);
ZA = (CZ/height);
TXA = (XA/4);
TYA = (YA/4);
Temp = VectorToAngles(end - start);
Angle = (0, Temp[1], 90);
for(h = 0; h < height; h++){
block = spawn("script_model", (start + (TXA, TYA, 10) + ((0, 0, ZA) * h)));
block setModel("com_plasticcase_friendly");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
for(i = 1; i < blocks; i++){
block = spawn("script_model", (start + ((XA, YA, 0) * i) + (0, 0, 10) + ((0, 0, ZA) * h)));
block setModel("com_plasticcase_friendly");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
}
block = spawn("script_model", ((end[0], end[1], start[2]) + (TXA * -1, TYA * -1, 10) + ((0, 0, ZA) * h)));
block setModel("com_plasticcase_friendly");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
}
}
CreateAdaptWalls(start, end, height, offset)
{
D = Distance((start[0], start[1], 0), (end[0], end[1], 0));
blocks = roundUp(D/55);
CX = end[0] - start[0];
CY = end[1] - start[1];
XA = (CX/blocks);
YA = (CY/blocks);
ZA = 30;
TXA = (XA/4);
TYA = (YA/4);
Temp = VectorToAngles(end - start);
Angle = (0, Temp[1], 90);
tempstart = bulletTrace(start, start + (0, 0, 100000), false, undefined)["position"] - (0,0,500);
tempend = bulletTrace(end, end + (0, 0, 100000), false, undefined)["position"] - (0,0,500);
for(h = 0; h < height; h++){
spawnlocation = bulletTrace(tempstart, tempstart - (0, 0, 100000), false, undefined)["position"];
block = spawn("script_model", (spawnlocation + (TXA, TYA, 15 + offset)));
block setModel("com_plasticcase_friendly");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
for(i = 1; i < blocks; i++){
spawnlocation = bulletTrace(tempstart + ((XA, YA, 0) * i), tempstart + ((XA, YA, 0) * i) - (0, 0, 100000), false, undefined)["position"];
block = spawn("script_model", (spawnlocation + (0, 0, 15 + offset)));
block setModel("com_plasticcase_friendly");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
}
spawnlocation = bulletTrace(tempend, tempend - (0, 0, 100000), false, undefined)["position"];
block = spawn("script_model", (spawnlocation + (TXA * -1, TYA * -1, 15 + offset)));
block setModel("com_plasticcase_friendly");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
}
}
CreateCluster(amount, pos, radius)
{
for(i = 0; i < amount; i++)
{
half = radius / 2;
power = ((randomInt(radius) - half), (randomInt(radius) - half), 500);
block = spawn("script_model", pos + (0, 0, 1000) );
block setModel("com_plasticcase_friendly");
block.angles = (90, 0, 0);
block PhysicsLaunchServer((0, 0, 0), power);
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
block thread ResetCluster(pos, radius);
wait 0.05;
}
}
CreateTables(start, end)
{
D = Distance((start[0], start[1], 0), (end[0], end[1], 0));
blocks = roundUp(D/55);
CX = end[0] - start[0];
CY = end[1] - start[1];
XA = (CX/blocks);
YA = (CY/blocks);
TXA = (XA/4);
TYA = (YA/4);
Temp = VectorToAngles(end - start);
Angle = (0, Temp[1], 0);
block = spawn("script_model", (start + (TXA, TYA, 10)));
block setModel("com_plasticcase_enemy");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
for(i = 1; i < blocks; i++){
block = spawn("script_model", (start + ((XA, YA, 0) * i) + (0, 0, 10)));
block setModel("com_plasticcase_enemy");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
}
block = spawn("script_model", ((end[0], end[1], start[2]) + (TXA * -1, TYA * -1, 10)));
block setModel("com_plasticcase_enemy");
block.angles = Angle;
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
wait 0.001;
}
CreateBombSite(pos, team, otherteam)
{
center = spawn("script_model", pos );
center setModel("com_bomb_objective");
center Solid();
center CloneBrushmodelToScriptmodel( level.bombSiteCollision );
block = spawn("script_model", pos + (0, 20, 30) );
block.angles = (0, 0, 0);
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
block EnableLinkTo();
block LinkTo(center);
block = spawn("script_model", pos + (0, -20, 30) );
block.angles = (0, 0, 0);
block Solid();
block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
block EnableLinkTo();
block LinkTo(center);
curObjID = maps\mp\gametypes\_gameobjects::getNextObjID();
objective_add( curObjID, "invisible", (0,0,0) );
objective_position( curObjID, center.origin );
objective_state( curObjID, "active" );
objective_team( curObjID, team );
center.objIdFriendly = curObjID;
center maps\mp\_entityheadIcons::setHeadIcon( team, "waypoint_defend_a", (0,0,44), 14, 14 );
curObjID = maps\mp\gametypes\_gameobjects::getNextObjID();
objective_add( curObjID, "invisible", (0,0,0) );
objective_position( curObjID, center.origin );
objective_state( curObjID, "active" );
objective_team( curObjID, otherteam );
center.objIdEnemy = curObjID;
center maps\mp\_entityheadIcons::setHeadIcon( otherteam, "waypoint_target_a", (0,0,44), 14, 14 );
center thread BombSiteUse(team, otherteam);
center thread BombThinkPlant(team, otherteam);
}
CreateKillIfBelow(z)
{
level thread KillBelow(z);
}
CustomSpawnin****tem()
{
self endon("disconnect");
pickingspawn = true;
spawnpoint = undefined;
for(;;)
{
self waittill("spawned_player");
pickingspawn = true;
hits = 0;
trys = 0;
if(level.CustomSpawnSetting == 0){
return;
} else if(level.CustomSpawnSetting == 1){
if(randomInt(99) < 50){
while(pickingspawn){
temppos = level.CustomSpawnPointsFinal[self.team][randomInt(level.CustomSpawnPointsFinal[self.team].size)];
top = bullettrace(temppos, temppos + (0, 0, 100000), false, undefined)["position"];
spawnpoint = bullettrace(top, top + (0, 0, -1000000), false, undefined)["position"];
if(level.CustomSpawnNearEnemy == 0){
foreach(player in level.players)
{
if(player.team == self.team){
continue;
}
end = player.origin - spawnpoint;
if(length(end) > 10000){
continue;
}
check = bullettracepassed(spawnpoint, spawnpoint + (end[0], end[1], 0), false, undefined);
if(check){
hits++;
}
}
if(hits == 0){
pickingspawn = false;
} else {
trys++;
}
if(trys > level.CustomSpawnPointsFinal[self.team].size - 1){
pickingspawn = false;
}
} else {
pickingspawn = false;
}
}
self SetOrigin((spawnpoint));
}
} else if(level.CustomSpawnSetting == 2){
while(pickingspawn){
temppos = level.CustomSpawnPointsFinal[self.team][randomInt(level.CustomSpawnPointsFinal[self.team].size)];
top = bullettrace(temppos, temppos + (0, 0, 100000), false, undefined)["position"];
spawnpoint = bullettrace(top, top + (0, 0, -1000000), false, undefined)["position"];
if(level.CustomSpawnNearEnemy == 0){
foreach(player in level.players)
{
if(player.team == self.team){
continue;
}
end = player.origin - spawnpoint;
if(length(end) > 1000){
continue;
}
check = bullettracepassed(spawnpoint, spawnpoint + (end[0], end[1], 0), false, undefined);
if(check){
hits++;
}
}
if(hits == 0){
pickingspawn = false;
} else {
trys++;
}
if(trys > level.CustomSpawnPointsFinal[self.team].size - 1){
pickingspawn = false;
}
} else {
pickingspawn = false;
}
}
self SetOrigin((spawnpoint));
}
}
}
RemoveUnusableSpawnPoint()
{
foreach(spawnpoint in level.CustomSpawnPoints["allies"])
{
hits = 0;
top = bullettrace(spawnpoint, spawnpoint + (0, 0, 100000), false, undefined)["position"];
checkspawnpoint = bullettrace(top, top + (0, 0, -1000000), false, undefined)["position"];
for(i = 0; i < 360; i++)
{
direction = AnglesToForward((0, i, 0));
end = vector_multiply((0, direction[1], 0) ,55);
check = bullettracepassed(checkspawnpoint, checkspawnpoint + end, false, undefined);
if(!check){
hits++;
}
}
if(hits == 0){
level.CustomSpawnPointsFinal["allies"][level.CustomSpawnPointsFinal["allies"].size] = spawnpoint;
}
}
foreach(spawnpoint in level.CustomSpawnPoints["axis"])
{
hits = 0;
top = bullettrace(spawnpoint, spawnpoint + (0, 0, 100000), false, undefined)["position"];
checkspawnpoint = bullettrace(top, top + (0, 0, -1000000), false, undefined)["position"];
for(i = 0; i < 360; i += 5)
{
direction = AnglesToForward((0, i, 0));
end = vector_multiply((0, direction[1], 0) ,55);
check = bullettracepassed(checkspawnpoint, checkspawnpoint + end, false, undefined);
if(!check){
hits++;
}
}
if(hits == 0){
level.CustomSpawnPointsFinal["axis"][level.CustomSpawnPointsFinal["axis"].size] = spawnpoint;
}
}
foreach(player in level.players)
{
player suicide();
}
}
ElevatorThink(enter, exit, angle)
{
self endon("disconnect");
while(1)
{
foreach(player in level.players)
{
if(DistanceSquared(enter, player.origin) <= Power(50, 2)){
player SetOrigin(exit);
player SetPlayerAngles(angle);
}
}
wait .25;
}
}
DoorThinkUse(open, close)
{
while(1)
{
if(self.hp > 0){
self waittill ( "triggeruse" , player );
if(player.team == "allies"){
if(self.state == "open"){
self MoveTo(close, level.doorwait);
wait level.doorwait;
self.state = "close";
continue;
}
if(self.state == "close"){
self MoveTo(open, level.doorwait);
wait level.doorwait;
self.state = "open";
continue;
}
}
if(player.team == "axis"){
if(self.state == "close"){
if(player.attackeddoor == 0){
hitChance = 0;
switch(player GetStance())
{
case "prone":
hitChance = 15;
break;
case "crouch":
hitChance = 45;
break;
case "stand":
hitChance = 90;
break;
default:
break;
}
if(randomInt(100) < hitChance){
self.hp--;
player iPrintlnBold("HIT - " + self.hp + "/" + self.maxhp);
if(self.hp <= int(self.maxhp/5)){
self playSound("flag_spawned");
}
} else {
player iPrintlnBold("^1MISS - " + self.hp + "/" + self.maxhp);
}
player.attackeddoor = 1;
player thread DoorAttackWait();
continue;
}
}
}
} else {
if(self.state == "close"){
self MoveTo(open, level.doorwait);
}
self.state = "broken";
wait .5;
}
}
}
DoorThinkRepair()
{
while(1)
{
self waittill ( "triggerrepair" , player );
if(self.hp < self.maxhp){
if(self.hp > 0){
player thread RepairDoor(self);
} else {
if(useHoldThink(player, "Fixing Door...", 20000)){
self.hp = self.maxhp;
self.state = "open";
player.bounty += 200;
}
}
}
}
}
RepairDoor(door)
{
self notify("RepairingDoor");
self endon("RepairingDoor");
self endon("disconnect");
self endon("death");
if(useHoldThink(self, "Repairing Door...", 5000)){
if(door.state != "broken"){
door.hp += 1;
self.hprepaired += 1;
self iPrintlnBold("Repaired - " + door.hp + "/" + door.maxhp);
if(self.hprepaired >= 5){
self.bounty += 50;
self.hprepaired = 0;
}
}
}
}
DoorUse()
{
while(1)
{
foreach(player in level.players)
{
if(DistanceSquared(self.origin, player.origin) <= Power(self.range, 2)){
if(player.team == "allies"){
if(player getCurrentWeapon() == "onemanarmy_mp"){
if(self.state == "broken"){
player.hint = "^1Door is Broken. ^7Press and Hold ^3[{+activate}] ^7to ^2Fix ^7the door";
} else {
if(self.hp < self.maxhp){
player.hint = "Press and Hold ^3[{+activate}] ^7to ^2Repair ^7the door";
}
}
} else {
if(self.state == "open"){
player.hint = "Press ^3[{+activate}] ^7to ^2Close ^7the door";
}
if(self.state == "close"){
player.hint = "Press ^3[{+activate}] ^7to ^2Open ^7the door";
}
if(self.state == "broken"){
player.hint = "^1Door is Broken";
}
}
}
if(player.team == "axis"){
if(self.state == "close"){
player.hint = "Press ^3[{+activate}] ^7to ^2Attack ^7the door";
}
if(self.state == "broken"){
player.hint = "^1Door is Broken";
}
}
if(player getCurrentWeapon() == "onemanarmy_mp"){
if(player maps\mp\gametypes\_rank::checkPress("F")){
self notify( "triggerrepair" , player);
}
} else {
if(player UseButtonPressed()){
self notify( "triggeruse" , player);
}
}
}
}
wait .045;
}
}
DoorAttackWait()
{
self notify("attackwait");
self endon("attackwait");
self endon("disconnect");
self endon("death");
wait 1;
self.attackeddoor = 0;
}
BombSiteUse(team, otherteam)
{
while(1)
{
foreach(player in level.players)
{
if(DistanceSquared(self.origin, player.origin) <= Power(100, 2)){
if(!self.bombplanted){
if(player.team == otherteam){
player.hint = "Press and Hold ^3[{+activate}] ^7to ^2Plant ^7the bomb";
}
} else {
if(player.team == team){
player.hint = "Press and Hold ^3[{+activate}] ^7to ^2Defuse ^7the bomb";
}
}
if(player maps\mp\gametypes\_rank::checkPress("F")){
self notify( "triggeruse" , player);
}
}
}
wait .045;
}
}
BombThinkPlant(team, otherteam)
{
self endon("defuse");
while(1)
{
self waittill ( "triggeruse" , player );
if(level.BombsPlanted == 1 && level.BombSiteSetting == 1){
continue;
}
if(player.team == team){
continue;
}
player.currentweapon = player getCurrentWeapon();
player giveWeapon("briefcase_bomb_mp");
player SwitchToWeapon("briefcase_bomb_mp");
wait .5;
if(!useHoldThink( player, &"MP_PLANTING_EXPLOSIVE", 6000 )){
player SwitchToWeapon(player.currentweapon);
continue;
}
player SwitchToWeapon(player.currentweapon);
trace = bulletTrace( player.origin + (0,0,20), player.origin - (0,0,2000), false, player );
tempAngle = randomfloat( 360 );
forward = (cos( tempAngle ), sin( tempAngle ), 0);
forward = vectornormalize( forward - vector_multiply( trace["normal"], vectordot( forward, trace["normal"] ) ) );
dropAngles = vectortoangles( forward );
wait 1;
self.bombmodel = spawn( "script_model", trace["position"] );
self.bombmodel.angles = dropAngles;
self.bombmodel setModel( "prop_suitcase_bomb" );
level.BombTimerIcon = createServerIcon( "hud_suitcase_bomb", 50, 50 );
level.BombTimerIcon setPoint( "BOTTOM RIGHT", "BOTTOM RIGHT", -90, -50 );
level.BombTimerIcon.alpha = 0.75;
level.BombTimerIcon.glow = 1;
level.BombTimerIcon.glowColor = ( 1, 1, 0 );
level.BombTimerIcon.glowAlpha = 1;
level.BombTimer = createServerTimer("objective", 1.25);
level.BombTimer setPoint( "BOTTOM RIGHT", "BOTTOM RIGHT", -90, -65 );
level.BombTimer.foreground = true;
level.BombTimer.glow = 1;
level.BombTimer.glowColor = ( 1, 1, 0 );
level.BombTimer.glowAlpha = 1;
level.BombTimer SetTenthsTimer(30);
level.BombsPlanted++;
leaderDialog( "bomb_planted" );
player playSound( "mp_bomb_plant" );
level thread teamPlayerCardSplash( "callout_bombplanted", player );
self maps\mp\_entityheadIcons::setHeadIcon( team, "waypoint_defuse_a", (0,0,44), 14, 14 );
self maps\mp\_entityheadIcons::setHeadIcon( otherteam, "waypoint_defend_a", (0,0,44), 14, 14 );
self.bombplanted = true;
self.bombmodel thread playTickingSound(30);
self thread BombThinkDefuse(team, otherteam);
TimerWait(30);
self notify("explode");
self.bombmodel notify("stop_ticking");
level.BombTimerIcon destroy();
level.BombTimer destroy();
self.bombplanted = false;
self.bombmodel hide();
self.bombmodel thread BombExplosion();
self.bombmodel delete();
self maps\mp\_entityheadIcons::setHeadIcon( team, "waypoint_defend_a", (0,0,44), 14, 14 );
self maps\mp\_entityheadIcons::setHeadIcon( otherteam, "waypoint_target_a", (0,0,44), 14, 14 );
}
}
BombThinkDefuse(team, otherteam)
{
self endon("explode");
while(1)
{
self waittill ( "triggeruse" , player );
if(player.team == otherteam){
continue;
}
player.currentweapon = player getCurrentWeapon();
player giveWeapon("briefcase_bomb_mp");
player SwitchToWeapon("briefcase_bomb_mp");
self.bombmodel hide();
wait .5;
if(!useHoldThink( player, &"MP_DEFUSING_EXPLOSIVE", 6000 )){
player SwitchToWeapon(player.currentweapon);
self.bombmodel show();
continue;
}
player SwitchToWeapon(player.currentweapon);
leaderDialog( "bomb_defused" );
level thread teamPlayerCardSplash( "callout_bombdefused", player );
self notify("defuse");
level.BombsPlanted--;
self.bombplanted = false;
self thread BombThinkPlant(team, otherteam);
self.bombmodel notify("stop_ticking");
level.BombTimerIcon destroy();
level.BombTimer destroy();
self.bombmodel delete();
self maps\mp\_entityheadIcons::setHeadIcon( team, "waypoint_defend_a", (0,0,44), 14, 14 );
self maps\mp\_entityheadIcons::setHeadIcon( otherteam, "waypoint_target_a", (0,0,44), 14, 14 );
return;
}
}
BombExplosion()
{
level.BombsPlanted--;
level.BombsExploded++;
explosionOrigin = self.origin;
RadiusDamage( explosionOrigin, 1500, 500, 20 );
rot = randomfloat(360);
level._effect["cloud"] = loadfx( "explosions/emp_flash_mp" );
level._effect["bombexplosion"] = loadfx("explosions/tanker_explosion");
level._effect["explode"]["medium"] = loadfx ("explosions/aerial_explosion");
level._effect["explode"]["large"] = loadfx ("explosions/aerial_explosion_large");
playFx( level._effect["cloud"], explosionOrigin+(0,0,200));
PlayRumbleOnPosition( "grenade_rumble", explosionOrigin );
earthquake( 0.75, 2.0, explosionOrigin, 5000 );
level thread playSoundinSpace( "exp_suitcase_bomb_main", explosionOrigin );
wait 0.0001;
for(t = 0; t < 360; t += 36){
x = 500 * Cos(t);
y = 500 * Sin(t);
PlayFx( level._effect["bombexplosion"], explosionOrigin + (x,y,300), (0,0,1), (cos(rot),sin(rot),0) );
PlayFx( level._effect["explode"]["medium"], explosionOrigin + (x,y,50), (0,0,1), (cos(rot),sin(rot),0) );
PlayFx( level._effect["explode"]["large"], explosionOrigin + (0-x,0-y,50), (0,0,1), (cos(rot),sin(rot),0) );
x = 1000 * Cos(t+18);
y = 1000 * Sin(t+18);
PlayFx( level._effect["bombexplosion"], explosionOrigin + (x,y,150), (0,0,1), (cos(rot),sin(rot),0) );
PlayFx( level._effect["explode"]["large"], explosionOrigin + (x,y,50), (0,0,1), (cos(rot),sin(rot),0) );
PlayFx( level._effect["explode"]["medium"], explosionOrigin + (0-x,0-y,50), (0,0,1), (cos(rot),sin(rot),0) );
wait 0.0001;
}
}
KillBelow(z)
{
for(;;)
{
foreach(player in level.players)
{
if(player.origin[2] < z){
RadiusDamage(player.origin,100,999999,999999);
}
wait .1;
}
wait .15;
}
}
ResetDoors(open, hp)
{
while(1)
{
level waittill("RESETDOORS");
self.hp = hp;
self MoveTo(open, level.doorwait);
self.state = "open";
}
}
ResetCluster(pos, radius)
{
wait 5;
self RotateTo(((randomInt(36)*10), (randomInt(36)*10), (randomInt(36)*10)), 1);
level waittill("RESETCLUSTER");
self thread CreateCluster(1, pos, radius);
self delete();
}
roundUp( floatVal )
{
if ( int( floatVal ) != floatVal )
return int( floatVal+1 );
else
return int( floatVal );
}
Power( number, power )
{
returnnumber = 1;
for(i = 0; i < power; i++){
returnnumber *= number;
}
return returnnumber;
}
useHoldThink( player, string, useTime)
{
player playerLinkTo( self );
player playerLinkedOffsetEnable();
self.curProgress = 0;
self.inUse = true;
self.useRate = 0;
if ( isDefined( useTime ) )
self.useTime = useTime;
else
self.useTime = 3000;
player thread personalUseBar( self, string );
result = useHoldThinkLoop( player );
assert ( isDefined( result ) );
if ( isAlive( player ) )
{
player unlink();
}
if ( !isDefined( self ) )
return false;
self.inUse = false;
self.curProgress = 0;
return ( result );
}
personalUseBar( object, string )
{
self endon( "disconnect" );
useBar = createPrimaryProgressBar( -25 );
useBarText = createPrimaryProgressBarText( -25 );
useBarText setText( string );
lastRate = -1;
while ( isReallyAlive( self ) && isDefined( object ) && object.inUse && !level.gameEnded )
{
if ( lastRate != object.useRate )
{
if( object.curProgress > object.useTime)
object.curProgress = object.useTime;
useBar updateBar( object.curProgress / object.useTime, (1000 / object.useTime) * object.useRate );
if ( !object.useRate )
{
useBar hideElem();
useBarText hideElem();
}
else
{
useBar showElem();
useBarText showElem();
}
}
lastRate = object.useRate;
wait ( 0.05 );
}
useBar destroyElem();
useBarText destroyElem();
}
useHoldThinkLoop( player )
{
while( !level.gameEnded && isDefined( self ) && isReallyAlive( player ) && player useButtonPressed() && self.curProgress < self.useTime )
{
self.curProgress += (50 * self.useRate);
if ( isDefined(self.objectiveScaler) )
self.useRate = 1 * self.objectiveScaler;
else
self.useRate = 1;
if ( self.curProgress >= self.useTime )
return ( isReallyAlive( player ) );
wait 0.05;
}
return false;
}
TimerWait(Duration)
{
level endon( "game_ended" );
level endon( "bomb_defused" );
maps\mp\gametypes\_hostmigration::waitLongDurationWithGameEndTimeUpdate( Duration );
}
playTickingSound(Duration)
{
self endon("death");
self endon("stop_ticking");
level endon("game_ended");
time = Duration;
while(1)
{
self playSound( "ui_mp_suitcasebomb_timer" );
if ( time > 10 )
{
time -= 1;
wait 1;
}
else if ( time > 4 )
{
time -= .5;
wait .5;
}
else if ( time > 1 )
{
time -= .4;
wait .4;
}
else
{
time -= .3;
wait .3;
}
maps\mp\gametypes\_hostmigration::waitTillHostMigrationDone();
}
}
Afghan()
{
CreateRamps((2280, 1254, 142), (2548, 1168, 33));
CreateDoors((1590, -238, 160), (1590, -168, 160), (90, 0, 0), 2, 2, 5, 50);
CreateDoors((1938, -125, 160), (1938, -15, 160), (90, 0, 0), 4, 2, 15, 75);
CreateDoors((2297, 10, 160), (2297, -100, 160), (90, 0, 0), 4, 2, 10, 75);
CreateDoors((525, 1845, 162), (585, 1845, 162), (90, 90, 0), 2, 2, 5, 50);
CreateDoors((-137, 1380, 226), (-137, 1505, 226), (90, 0, 0), 4, 2, 15, 75);
CreateDoors((820, 1795, 165), (820, 1495, 165), (90, 0, 0), 12, 2, 40, 100);
CreateDoors((2806, 893, 210), (2806, 806, 210), (90, 0, 0), 3, 2, 10, 50);
CreateElevator((-609, -760, -141), (-5143, 9819, -1378), (0, 0, 0));
CreateElevator((1615, 13183, -434), (-212, 2582, -55), (0, 180, 0));
CreateElevator((1653, 587, 108), (-1647, 951, -863), (0, 90, 0));
CreateElevator((133, 3169, -752), (1999, 1947, -5), (0, 270, 0));
CreateElevator((-29, 10786, -31231), (-5143, 9819, -1378), (0, 0, 0));
mgTurret1 = spawnTurret( "misc_turret", (866, 12649, -428), "pavelow_minigun_mp" );
mgTurret1 setModel( "weapon_minigun" );
mgTurret1.angles = (0, 180, 0);
mgTurret2 = spawnTurret( "misc_turret", (-1810, 2348, -779), "pavelow_minigun_mp" );
mgTurret2 setModel( "weapon_minigun" );
mgTurret2.angles = (0, 270, 0);
}
Derail()
{
CreateElevator((-110, 2398, 124), (-125, 2263, 333), (0, 270, 0));
CreateBlocks((-240, 1640, 422), (0, 90, 0));
CreateBlocks((-270, 1640, 422), (0, 90, 0));
CreateBlocks((-270, 1585, 422), (0, 90, 0));
CreateBlocks((-270, 1530, 422), (0, 90, 0));
CreateBlocks((-270, 1475, 422), (0, 90, 0));
CreateBlocks((-270, 1420, 422), (0, 90, 0));
CreateBlocks((-270, 1365, 422), (0, 90, 0));
CreateBlocks((-270, 1310, 422), (0, 90, 0));
CreateBlocks((-270, 1255, 422), (0, 90, 0));
CreateBlocks((-970, 3018, 138), (0, 90, 0));
CreateBlocks((-985, 3018, 148), (0, 90, 0));
CreateBlocks((-1000, 3018, 158), (0, 90, 0));
CreateBlocks((-1015, 3018, 168), (0, 90, 0));
CreateBlocks((-1030, 3018, 178), (0, 90, 0));
CreateBlocks((-1045, 3018, 188), (0, 90, 0));
CreateBlocks((-1060, 3018, 198), (0, 90, 0));
CreateBlocks((-1075, 3018, 208), (0, 90, 0));
CreateBlocks((-1090, 3018, 218), (0, 90, 0));
CreateBlocks((-1105, 3018, 228), (0, 90, 0));
CreateBlocks((-1120, 3018, 238), (0, 90, 0));
CreateBlocks((-1135, 3018, 248), (0, 90, 0));
CreateRamps((-124, 2002, 437), (-124, 2189, 332));
CreateDoors((400, 1486, 128), (400, 1316, 128), 90, 0, 0, 6, 2, 30, 100);
CreateDoors((-61, 755, 128), (-161, 755, 128), 90, 90, 0, 3, 2, 20, 75);
mgTurret1 = spawnTurret( "misc_turret", (4, 1566, 663), "pavelow_minigun_mp" );
mgTurret1.angles = (0, 45, 0);
mgTurret1 setModel( "weapon_minigun" );
}
Estate()
{
CreateBlocks((-2378, 782, -130), (90, 0, 0));
CreateBlocks((-2388, 823, -130), (90, 0, 0));
CreateBlocks((-2398, 863, -130), (90, 0, 0));
CreateBlocks((-1098, 2623, 37), (90, 0, 0));
CreateBlocks((-3227, 3483, -101), (90, 0, 0));
CreateBlocks((-371, 919, 245), (0, 100, 90));
CreateBlocks((-383, 991, 245), (0, 100, 90));
CreateBlocks((-371, 919, 275), (0, 100, 90));
CreateBlocks((-383, 991, 275), (0, 100, 90));
CreateBlocks((-371, 919, 305), (0, 100, 90));
CreateBlocks((-383, 991, 305), (0, 100, 90));
CreateBlocks((-371, 919, 335), (0, 100, 90));
CreateBlocks((-383, 991, 335), (0, 100, 90));
CreateBlocks((-349, 1115, 245), (0, 50, 90));
CreateBlocks((-302, 1166, 245), (0, 50, 90));
CreateBlocks((-349, 1115, 275), (0, 50, 90));
CreateBlocks((-302, 1166, 275), (0, 50, 90));
CreateBlocks((-349, 1115, 305), (0, 50, 90));
CreateBlocks((-302, 1166, 305), (0, 50, 90));
CreateBlocks((-349, 1115, 335), (0, 50, 90));
CreateBlocks((-302, 1166, 335), (0, 50, 90));
CreateBlocks((-371, 919, 395), (0, 100, 90));
CreateBlocks((-383, 991, 395), (0, 100, 90));
CreateBlocks((-371, 919, 425), (0, 100, 90));
CreateBlocks((-383, 991, 425), (0, 100, 90));
CreateBlocks((-371, 919, 455), (0, 100, 90));
CreateBlocks((-383, 991, 455), (0, 100, 90));
CreateBlocks((-371, 919, 485), (0, 100, 90));
CreateBlocks((-383, 991, 485), (0, 100, 90));
CreateBlocks((-349, 1115, 395), (0, 50, 90));
CreateBlocks((-302, 1166, 395), (0, 50, 90));
CreateBlocks((-349, 1115, 425), (0, 50, 90));
CreateBlocks((-302, 1166, 425), (0, 50, 90));
CreateBlocks((-349, 1115, 455), (0, 50, 90));
CreateBlocks((-302, 1166, 455), (0, 50, 90));
CreateBlocks((-349, 1115, 485), (0, 50, 90));
CreateBlocks((-302, 1166, 485), (0, 50, 90));
CreateBlocks((-55, 1231, 245), (0, -20, 90));
CreateBlocks((8, 1217, 245), (0, -20, 90));
CreateBlocks((102, 1188, 245), (0, -20, 90));
CreateBlocks((162, 1168, 245), (0, -20, 90));
CreateBlocks((-55, 1231, 275), (0, -20, 90));
CreateBlocks((8, 1217, 275), (0, -20, 90));
CreateBlocks((102, 1188, 275), (0, -20, 90));
CreateBlocks((162, 1168, 275), (0, -20, 90));
CreateBlocks((-3200, 998, -143), (90, 0, 0));
CreateBlocks((-3200, 1028, -143), (90, 0, 0));
CreateBlocks((-3200, 1058, -143), (90, 0, 0));
CreateBlocks((-3200, 1088, -143), (90, 0, 0));
CreateBlocks((-3200, 1118, -143), (90, 0, 0));
CreateBlocks((-3181, 3124, -218), (90, 0, 0));
CreateBlocks((-3211, 3124, -218), (90, 0, 0));
CreateBlocks((-3241, 3124, -218), (90, 0, 0));
CreateBlocks((-3181, 3124, -163), (90, 0, 0));
CreateBlocks((-3211, 3124, -163), (90, 0, 0));
CreateBlocks((-3241, 3124, -163), (90, 0, 0));
CreateBlocks((-2622, 3676, -106), (90, 0, 0));
CreateBlocks((-3741, 3245, -200), (90, 0, 0));
CreateBlocks((-3821, 2170, -250), (90, 0, 0));
CreateBlocks((-3791, 2170, -250), (90, 0, 0));
CreateBlocks((-3761, 2170, -250), (90, 0, 0));
CreateBlocks((-3821, 2170, -195), (90, 0, 0));
CreateBlocks((-3791, 2170, -195), (90, 0, 0));
CreateBlocks((-3761, 2170, -195), (90, 0, 0));
CreateBlocks((-471, -126, 193), (0, 0, 90));
CreateBlocks((-547, -104, 193), (0, 0, 90));
CreateBlocks((-625, -84, 193), (0, 0, 90));
CreateBlocks((-702, -61, 193), (0, 0, 90));
CreateBlocks((-778, -38, 193), (0, 0, 90));
CreateBlocks((-830, -13, 193), (0, 0, 90));
CreateBlocks((1333, -92, 210), (0, 0, 90));
CreateRamps((1025, 3563, 291), (692, 3563, 146));
CreateDoors((489, 1321, 212), (409, 1341, 212), 90, undefined, 0, 4, 2, 20, 75);
CreateDoors((421, 861, 212), (461, 1011, 212), 90, undefined, 0, 4, 2, 20, 75);
CreateDoors((64, 680, 212), (184, 640, 212), 90, undefined, 0, 6, 2, 30, 100);
CreateDoors((706, 575, 185), (791, 545, 185), 0, -15, 0, 6, 1, 25, 75);
CreateDoors((24, 477, 341), (48, 552, 341), 90, undefined, 0, 3, 2, 5, 50);
}
Favela()
{
CreateElevator((-321, 2633, 335), (1985, 816 , 500), (0, 0, 0));
CreateElevator((1993, 962, 500), (1824, -525, 728), (0, 0, 0));
CreateElevator((1648, -1024, 728), (5047, -2867, 216), (0, 0, 0));
CreateElevator((763, -1983, 152), (404, 1677, 595), (0, 0, 0));
CreateGrids((2809, -2212, 239), (2809, -2675, 230), (0, 0, 0));
CreateWalls((2809, -2212, 143), (2236, -2212, 240));
CreateWalls((2809, -2212, 143), (2809, -2400, 180));
CreateWalls((2809, -2212, 220), (2809, -2675, 240));
Createwalls((2236, -2212, 143), (2236, -2675, 180));
CreateWalls((2236, -2675, 143), (2236, -2212, 240));
CreateWalls((2809, -2675, 143), (2809, -2550, 180));
CreateWalls((2809, -2675, 143), (2236, -2675, 240));
CreateRamps((2650, -2600, 143), (2236, -2600, 220));
CreateDoors((2780, -2300, 143), (2809, -2485, 143), (0, 0, 0), 7, 2, 15, 50);
CreateDoors((-64, 277, 198), (-64, 337, 198), (90, -6, 0), 2, 2, 5, 50);
CreateDoors((-438, 987, 310), (-438, 1047, 310), (90, 4, 0), 2, 2, 5, 50);
CreateDoors((-625, -238, 174), (-625, -298, 174), (90, -9, 0), 2, 2, 5, 50);
CreateDoors((893, 1056, 368), (833, 1056, 368), (90, 90, 0), 2, 2, 5, 50);
CreateElevator((-910, -1463, 214.365), (9946, 18430, 13851));
CreateDoors((80, 450, 198), (145, 450, 198), (90, 90, 0), 2, 2, 5, 50);
CreateElevator((-1982, 3943, 317.365), (-1841, 3855, 572));
CreateRamps((-1499, 3064, 584), (-1323, 3254, 584));
CreateElevator((9359, 18435, 13635), (-1841, 3855, 572));
}
HighRise()
{
CreateElevator((-1230, 7420, 2780), (-2830, 20000, 2070), (0, 0, 0));
CreateBlocks((-2723, 5162, 3030), (90, 0, 0));
CreateBlocks((-2753, 5162, 3030), (90, 0, 0));
CreateBlocks((-2723, 5132, 3030), (90, 0, 0));
CreateDoors((-1550, 5875, 2967), (-1550, 5649, 2967), 0, 0, 0, 7, 1, 20, 100);
CreateDoors((-1185, 5900, 2967), (-1185, 6117, 2967), 0, 0, 0, 7, 1, 20, 100);
CreateWalls((-710, 19875, 2185), (-710, 20170, 2215));
CreateWalls((-460, 19875, 2185), (-710, 19875, 2215));
CreateWalls((-460, 20170, 2185), (-460, 19875, 2215));
CreateWalls((-710, 20170, 2185), (-460, 20170, 2215));
CreateWalls((-710, 19875, 2305), (-710, 20170, 2335));
CreateWalls((-460, 19875, 2305), (-710, 19875, 2335));
CreateWalls((-460, 20170, 2305), (-460, 19875, 2335));
CreateWalls((-710, 20170, 2305), (-460, 20170, 2335));
CreateWalls((-710, 19875, 2425), (-710, 20170, 2455));
CreateWalls((-460, 19875, 2425), (-710, 19875, 2455));
CreateWalls((-460, 20170, 2425), (-460, 19875, 2455));
CreateWalls((-710, 20170, 2425), (-460, 20170, 2455));
CreateWalls((-710, 19875, 2545), (-710, 20170, 2575));
CreateWalls((-460, 19875, 2545), (-710, 19875, 2575));
CreateWalls((-460, 20170, 2545), (-460, 19875, 2575));
CreateWalls((-710, 20170, 2545), (-460, 20170, 2575));
CreateRamps((-680, 20130, 2120), (-680, 19910, 2060));
CreateRamps((-490, 20130, 2170), (-640, 20130, 2120));
CreateRamps((-490, 19910, 2220), (-490, 20090, 2170));
CreateRamps((-680, 19910, 2270), (-530, 19910, 2220));
CreateRamps((-680, 20130, 2320), (-680, 19940, 2270));
CreateRamps((-490, 20130, 2370), (-640, 20130, 2320));
CreateRamps((-490, 19910, 2420), (-490, 20090, 2370));
CreateRamps((-680, 19910, 2470), (-530, 19910, 2420));
CreateRamps((-680, 20130, 2520), (-680, 19940, 2470));
CreateRamps((-490, 20130, 2570), (-640, 20130, 2520));
CreateBridge((-1400, 20250, 1870), (-2000, 20250, 1870));
CreateBridge((-1400, 20350, 1870), (-2000, 20350, 1870));
CreateBridge((-1400, 20450, 1870), (-2000, 20450, 1870));
CreateKillIfBelow(1750);
CreateRamps((370, 6382, 2804), (596, 6382, 2957));
}
Invasion()
{
CreateElevator((1039,-3260,284),(-5367,1830,212));
CreateGrids((-5396,1616,163),(-5984,1923,163));
CreateWalls((-5640,1596,177),(-6004,1597,350));
CreateWalls((-6020,1598,177),(-6016,1946,350));
CreateWalls((-6016,1946,177),(-5635,1942,350));
CreateDoors((-5630,1776,177),(-5630,1556,177),(90,0,0),7,2,20,125);
CreateRamps((-5943,1626,177),(-5670,1633,286));
CreateGrids((-6018,1944,300),(-5664,1680,300));
CreateWalls((-5621,1912,262),(-5631,1600,350));
CreateWalls((-5336,1602,214),(-5321,1935,250));
CreateRamps((-5642,1947,347),(-5619,2241,466));
CreateGrids((-5617,2255,466),(-5392,2344,466));
CreateGrids((-5581,2242,466),(-5394,2242,490));
mgTurret1 = spawnTurret( "misc_turret", (-5633,1811,347), "pavelow_minigun_mp" );
mgTurret1 setModel( "weapon_minigun" );
mgTurret1.angles = (0, 360, 0);
mgTurret2 = spawnTurret( "misc_turret", (-5467,2247,504), "pavelow_minigun_mp" );
mgTurret2 setModel( "weapon_minigun" );
mgTurret2.angles = (0, 240, 0);
}
Karachi()
{
CreateElevator((-2265, 230, 0), (-2385, 106, 5), (0, 180, 0));
CreateElevator((-2025, -250, -5), (-2265, -70, 10), (0, 90, 0));
CreateBlocks((-4100, 1380, 25), (90, 0, 0));
CreateBlocks((-3135, 670, 35), (0, 0, -45));
CreateBlocks((-3850, -125, 44), (0, 0, 0));
CreateBlocks((-4385, -55, 223), (0, 90, 0));
CreateBlocks((-5125, -30, 520), (0, 90, 90));
CreateBlocks((-5125, -30, 580), (0, 90, 90));
CreateBlocks((-5125, -30, 640), (0, 90, 90));
CreateBlocks((-5125, -30, 700), (0, 90, 90));
CreateBlocks((-5125, -30, 760), (0, 90, 90));
CreateBlocks((-5125, -30, 820), (0, 90, 90));
CreateBlocks((-5125, -30, 880), (0, 90, 90));
CreateBlocks((-5125, -30, 940), (0, 90, 90));
CreateBlocks((-4950, 78, 820), (90, 0, 0));
CreateBlocks((-4815, 68, 820), (90, 0, 0));
CreateBlocks((-3510, -105, 450), (90, 0, 0));
CreateBlocks((-5040, 65, 690), (90, 0, 0));
CreateBlocks((-3320, -80, 660), (90, 0, 0));
CreateWalls((-5110, 25, 45), (-5040, 755, 105));
CreateWalls((-5110, 25, 155), (-5040, 755, 185));
CreateWalls((-5110, 25, 235), (-5040, 755, 265));
CreateWalls((-5110, 25, 315), (-5040, 755, 345));
CreateWalls((-5110, 25, 395), (-5040, 755, 425));
CreateWalls((-5110, 25, 475), (-5040, 755, 505));
CreateWalls((-5110, 25, 555), (-5040, 755, 585));
CreateWalls((-2525, -1000, 10), (-2560, -880, 100));
CreateRamps((-4180, -115, 285), (-4155, 205, 20));
CreateRamps((-2480, 605, 176), (-2480, 405, 26));
CreateRamps((-2835, 1060, 176), (-2825, 835, 24));
CreateRamps((-4100, 665, 224), (-4100, 385, 17));
CreateRamps((-4010, -150, 404), (-4155, -150, 258));
CreateRamps((-2825, 805, 312), (-3065, 805, 176));
CreateRamps((-4670, -55, 496), (-4405, -55, 233));
CreateRamps((-4930, 755, 224), (-4950, 550, 37));
CreateRamps((-4340, 600, 632), (-4870, 730, 224));
CreateRamps((-4310, 593, 632), (-4060, 642, 496));
CreateRamps((-4695, -30, 745), (-5050, 0, 496));
CreateRamps((-3620, -105, 352), (-3620, -220, 288));
CreateRamps((-4358, -103, 673), (-4326, 575, 631));
CreateBridge((-3976, 640, 630), (-3976, 544, 635), (-3976, -100, 590));
CreateBridge((-3620, -105, 342), (-3580, 565, 375));
CreateGrids((-3310, -145, 90), (-2600, -145, 90), (0, 0, 0));
CreateGrids((-2820, 795, 310), (-2820, 620, 310), (0, 0, 0));
CreateGrids((-4375, -65, 227), (-4235, -65, 227), (0, 0, 0));
}
Quarry()
{
CreateElevator((-5048,1663,-94),(-6982,-2524,748));
CreateGrids((-6471,-2338,748),(-6031,-2534,748));
CreateWalls((-6000,-2552,763),(-6001,-2332,950));
CreateWalls((-6001,-2332,763),(-6216,-2332,950));
CreateWalls((-6217,-2552,763),(-6005,-2552,950));
CreateRamps((-6054,-2512,763),(-6212,-2524,900));
CreateGrids((-6223,-2470,891),(-6023,-2352,891));
CreateWalls((-6248,-2344,906),(-6238,-2534,925));
CreateDoors((-6226,-2448,763),(-6226,-2448,963),(90,0,0),5,2,15,75);
mgTurret1 = spawnTurret( "misc_turret", (-6241,-2420,933), "pavelow_minigun_mp" );
mgTurret1 setModel( "weapon_minigun" );
mgTurret1.angles = (0, 180, 0);
}
Rundown()
{
CreateElevator((1986, -2364, 372), (1036, -2607, 340), (0, 180, 0));
CreateElevator((935, -3022, 341), (1583, -603, 344), (0, 180, 0));
CreateElevator((1980, -518, 329), (2497, 234, -125), (0, 180, 0));
CreateElevator((2330, 1224, -79), (1612, -184, -127), (0, 180, 0));
CreateElevator((-454, 1162, 25), (2616, -524, -127), (0, 180, 0));
CreateElevator((-695, -267, 184), (2616, -524, -127), (0, 180, 0));
CreateElevator((470, -39, -123), (2497, 234, -125), (0, 180, 0));
CreateElevator((-395, 1772, 174), (2497, 234, -125), (0, 180, 0));
CreateElevator((4234, 150, -127), (-447, -5, 60), (0, 180, 0));
CreateWalls((3465, 241, -127), (3123, 241, 0));
CreateWalls((3465, 241, -127), (3465, -127, 0));
CreateWalls((3123, 241, -20), (3123, -127, 0));
CreateWalls((3123, -127, -127), (3465, -127, 0));
CreateWalls((3123, 241, -127), (3123, 130, -85));
CreateWalls((3123, -127, -127), (3123, -10, -85));
CreateDoors((3160, 130, -127), (3123, 50, -127), (90, 0, 0), 4, 2, 15, 75);
CreateGrids((3465, 241, -10), (3505, -127, -10), (0, 0, 0));
CreateGrids((3160, 241, -10), (3120, -127, -10), (0, 0, 0));
CreateGrids((3120, 241, -10), (3505, 280, -10), (0, 0, 0));
CreateGrids((3120, -127, -10), (3505, -170, -10), (0, 0, 0));
CreateRamps((3250, 180, -127), (3430, 180, -10));
CreateWalls((4882, -681, -127), (4882, 295, 20));
/* orginal */
CreateDoors((360, -1462, 202), (300, -1342, 202), (90, 25, 0), 3, 2, 10, 75);
CreateDoors((460, -1420, 206), (400, -1300, 206), (90, 25, 0), 3, 2, 10, 75);
CreateDoors((30, -1630, 186), (-30, -1510, 186), (90, 25, 0), 4, 2, 15, 75);
CreateDoors((-280, -1482, 186), (-220, -1602, 186), (90, 25, 0), 4, 2, 15, 75);
CreateBlocks((385, -1660, 40), (0, 120, 90));
CreateRamps((-597, -280, 212), (-332, -522, 180));
CreateRamps((726, -389, 142), (560, -373, 13));
CreateRamps((2250, -1155, 306), (1905, -876, 200));
CreateRamps((850, -3125, 312), (535, -3125, 189));
CreateRamps((1775, 450, 144), (1775, 735, -5));
}
Rust()
{
CreateRamps((521.841, 1125.9, 243.875), (517.157, 1818.58, 243.886));
CreateRamps((568.592, 1124.03, 243.817), (573.799, 1828.1, 237.097));
CreateRamps((621.096, 1126.31, 243.816), (626.324, 1830.77, 243.822));
CreateRamps((667.879, 1126.05, 243.87), (673.198, 1846.63, 237.605));
CreateWalls((703.253, 1329.73, 273.711), (550.362, 1333.88, 273.714));
CreateDoors((635.245, 1330.67, 258.504), (520.261, 1333.75, 258.503), (90, 89.4122, 0), 2, 2, 15, 75);
CreateWalls((703.871, 1328.04, 300.536), (574.67, 1331.92, 300.536));
CreateRamps((520.911, 1334.76, 343.928), (513.311, 1813.13, 344.122));
CreateRamps((622.737, 1341.69, 343.929), (625.865, 1840.98, 340.414));
CreateRamps((570.875, 1352.64, 343.93), (573.182, 1830.71, 343.601));
CreateRamps((681.518, 1649.15, 234.19), (678.666, 1387.22, 346.744));
CreateRamps((483.745, 1528.66, 331.071), (44.645, 1519.44, 666.299));
CreateRamps((44.645, 1519.44, 666.299), (38.944, 1004.38, 667.799));
CreateRamps((38.944, 1004.38, 667.799), (670.669, 935, 398.883));
CreateElevator((554.44, 8.69104, -215.674), (742.075, 948.856, 268.125));
CreateElevator((565.309, 1808.88, 358.241), (1422.46, 52.9624, 16.125));
CreateElevator((-296.99, 528.053, -169.022), (534.502, 1052.44, 266.211));
}
Scrapyard()
}
CreateElevator((-1750, 383, -127), (-5180, 4299, 2288), (0, 45, 0));
CreateElevator((-3643, 6478, 2475), (-4563, 6550, 2560), (0, 180, 0));
CreateGrids((-5300, 6400, 2545), (-4500, 6700, 2545), (0, 0, 0));
CreateDoors((-4950, 6250, 2580), (-4950, 6550, 2580), 90, 0, 0, 12, 2, 10, 300);
CreateRamps((-5239, 6456, 2540), (-5239, 6674, 2683));
CreateGrids((-5239, 6691, 2685), (-4972, 6691, 2685), (0, 0, 0));
CreateGrids((-4972, 6691, 2685), (-4972, 6356, 2685), (0, 0, 0));
CreateElevator((-4963, 6363, 2700), (-662, 654, 73), (0, 0, 0));
CreateBlocks((420, 1636, 174), (0, 0, 0));
CreateBlocks((475, 1636, 174), (0, 0, 0));
CreateBlocks((530, 1636, 174), (0, 0, 0));
CreateBlocks((585, 1636, 174), (0, 0, 0));
CreateBlocks((640, 1636, 174), (0, 0, 0));
CreateBlocks((695, 1636, 174), (0, 0, 0));
CreateBlocks((750, 1636, 174), (0, 0, 0));
CreateBlocks((805, 1636, 174), (0, 0, 0));
CreateBlocks((860, 1636, 174), (0, 0, 0));
CreateBlocks((420, 1606, 174), (0, 0, 0));
CreateBlocks((475, 1606, 174), (0, 0, 0));
CreateBlocks((530, 1606, 174), (0, 0, 0));
CreateBlocks((585, 1606, 174), (0, 0, 0));
CreateBlocks((640, 1606, 174), (0, 0, 0));
CreateBlocks((695, 1606, 174), (0, 0, 0));
CreateBlocks((750, 1606, 174), (0, 0, 0));
CreateBlocks((805, 1606, 174), (0, 0, 0));
CreateBlocks((860, 1606, 174), (0, 0, 0));
CreateBlocks((420, 1576, 174), (0, 0, 0));
CreateBlocks((475, 1576, 174), (0, 0, 0));
CreateBlocks((530, 1576, 174), (0, 0, 0));
CreateBlocks((585, 1576, 174), (0, 0, 0));
CreateBlocks((640, 1576, 174), (0, 0, 0));
CreateBlocks((695, 1576, 174), (0, 0, 0));
CreateBlocks((750, 1576, 174), (0, 0, 0));
CreateBlocks((805, 1576, 174), (0, 0, 0));
CreateBlocks((860, 1576, 174), (0, 0, 0));
CreateBlocks((-1541, -80, 1), (0, 90, -33.3));
CreateBlocks((-1517.7, -80, 16.3), (0, 90, -33.3));
CreateBlocks((-1494.4, -80, 31.6), (0, 90, -33.3));
CreateBlocks((-1471.1, -80, 46.9), (0, 90, -33.3));
CreateBlocks((-1447.8, -80, 62.2), (0, 90, -33.3));
CreateBlocks((-1424.5, -80, 77.5), (0, 90, -33.3));
CreateBlocks((-1401.2, -80, 92.8), (0, 90, -33.3));
CreateBlocks((-1377.9, -80, 108.1), (0, 90, -33.3));
CreateBlocks((-1354.6, -80, 123.4), (0, 90, -33.3));
CreateElevator((10, 1659, -72), (860, 1606, 194), (0, 180, 0));
CreateElevator((-276, 1567, -76), (-1176, 2033, -63), (0, 180, 0));
CreateElevator((-1176, 2222, -63), (-1758, -714, -31));
mgTurret1 = spawnTurret( "misc_turret", (-2662, 2247, -40), "pavelow_minigun_mp" );
mgTurret1.angles = (0, 0, 0);
mgTurret1 setModel( "weapon_minigun" );
mgTurret2 = spawnTurret( "misc_turret", (-2046, 2350, -40), "pavelow_minigun_mp" );
mgTurret2.angles = (0, 0, 0);
mgTurret2 setModel( "weapon_minigun" );
}
Skidrow()
{
CreateRamps((-1555.74, 1063.13, 120.125), (-1555.74, 1189.05, 120.125));
CreateRamps((-1555.88, 1063.13, 135.25), (-1556.3, 1191.56, 135.25));
CreateRamps((-1555.96, 1063.13, 150.375), (-1556.31, 1195.4, 150.375));
CreateRamps((-1555.4, 1058.59, 215.116), (-1554.27, 1196.77, 215.036));
CreateDoors((-1701.69, 1250.48, 118.125), (-1557.03, 1248.83, 118.125), (90, 0.368042, 0), 3, 2, 15, 75);
CreateRamps((-2036.28, 1176.02, 120.125), (-1810.12, 1176.03, 220.791));
CreateRamps((-1793.29, 1168.8, 216.483), (-1779.75, 1311.86, 216.486));
CreateRamps((-1793.29, 1168.8, 216.483), (-1772.53, 1040.13, 216.492));
CreateBlocks((765.488, 1246.09, 118.125), (90, 0, 0));
CreateBlocks((-305.583, 1246.42, 118.125), (90, 0, 0));
CreateBlocks((204.77, 1072.46, 120.125), (90, 0, 0));
CreateBlocks((-820.893, 1101.96, 118.125), (90, 0, 0));
CreateBlocks((-1240.25, 1245.27, 118.125), (90, 0, 0));
CreateElevator((1083.5, -2107.28, 176.125), (1225.31, 1182.29, 120.125));
CreateElevator((-2256.44, 231.596, 16.125), (969.509, 1175.1, 120.125));
CreateElevator((-1578.81, -545.878, 2.96316), (1658.03, 1169.03, 120.125));
CreateBlocks((-1015.56, 23.7215, 179.125), (90, 0, 0));
CreateRamps((1855.53, 1373.44, 112.125), (1859.84, 976.125, 127.976));
CreateRamps((1856.1, 1359.58, 168.647), (1861.06, 976.125, 168.655));
CreateBlocks((1824.87, 1383.56, 163.757), (90, 0, 0));
CreateBlocks((1805.21, 1422.17, 176.341), (90, 0, 0));
mgTurret2 = spawnTurret( "misc_turret", (-1569.52, 1141.93, 178.131), "pavelow_minigun_mp" );
mgTurret2 setModel( "weapon_minigun" );
mgTurret2.angles = (0, 0.065918, 0);
CreateElevator((-2614.06, 1211.29, 120.125), (-5302.6, 902.179, 976.125));
CreateElevator((1328.47, -1678.15, 8.14823), (-2604.09, 1068.08, 120.125));
CreateRamps((-4616.82, 1464.13, 968.718), (-4625.6, 1687.88, 1017.97));
CreateRamps((-4712.13, 2936.13, 1023.01), (-4668.88, 3991.88, 1444.01));
CreateRamps((-5064.13, 4396.77, 1450.38), (-5346.79, 4383.72, 1219.45));
CreateRamps((-5912.87, 4856.14, 1212.97), (-5910.87, 5335.87, 1218.29));
CreateRamps((-6265.01, 5734.26, 1240.13), (-6759.88, 5752.55, 1476.05));
CreateRamps((-8103.88, 4860.2, 1464.15), (-7620, 5335.87, 1464.43));
CreateBlocks((214.819, 1104.61, 155.929), (90, 0, 0));
CreateBlocks((-300.407, 1217.31, 158.487), (90, 0, 0));
CreateBlocks((-818.82, 1182.95, 161.243), (90, 0, 0));
}
SubBase()
{
CreateBlocks((-1506, 800, 123), (0, 0, 45));
CreateElevator((2247, 1571, 32), (-350, -3890, 0));
CreateWalls((-488, -3840, 0), (-215, -3840, 100));
CreateWalls((-410, -4350, 0), (-525, -4350, 100));
CreateWalls((-215, -4350, 0), (-300, -4350, 100));
CreateDoors((-270, -4350, 0), (-360, -4350, 0), (90, 180, 90), 3, 2, 20, 75);
CreateWalls((-410, -4750, 0), (-525, -4750, 100));
CreateWalls((-215, -4750, 0), (-300, -4750, 100));
CreateDoors((-270, -4750, 0), (-360, -4750, 0), (90, 180, 90), 3, 2, 20, 75);
CreateWalls((-410, -5650, 0), (-525, -5650, 100));
CreateWalls((-215, -5650, 0), (-300, -5650, 100));
CreateDoors((-270, -5650, 0), (-360, -5650, 0), (90, 180, 90), 3, 2, 20, 75);
CreateElevator((-350, -6400, 0), (-350, -6600, -100));
CreateElevator((-470, -6400, 0), (-470, -6600, -100));
CreateElevator((-240, -6400, 0), (1521, -2650, 0));
CreateWalls((1790, -4750, 0), (1490, -4750, 300));
CreateWalls((1470, -2550, 30), (1470, -4500, 60));
CreateWalls((1470, -4750, 0), (1470, -4500, 300));
CreateWalls((1790, -4500, 0), (1790, -4750, 300));
CreateWalls((1700, -4500, 0), (1790, -4500, 300));
CreateWalls((1470, -4500, 0), (1560, -4500, 300));
CreateDoors((1780, -4500, 0), (1620, -4500, 0), (90, 180, 90), 5, 2, 20, 75);
CreateGrids((1780, -4500, 110), (1580, -4750, 110), (0, 0, 0));
CreateRamps((1520, -4500, 100), (1520, -4680, 0));
CreateGrids((1700, -4500, 240), (1480, -4750, 240), (0, 0, 0));
CreateRamps((1750, -4550, 110), (1750, -4750, 240));
CreateElevator((1500, -4700, 240), (170, -580, 89));
}
Terminal()
{
CreateElevator((1041, 5336, 192), (611, 2835, 410), (0, 90, 0));
CreateElevator((2859, 4529, 192), (3045, 4480, 250), (0, 0, 0));
CreateElevator((2975, 4080, 192), (2882, 4289, 55), (0, 180, 0));
CreateElevator((520, 7375, 192), (-898, 5815, 460), (0, -90, 0));
CreateElevator((-670, 5860, 460), (1585, 7175, 200), (0, 180, 0));
CreateElevator((-895, 4300, 392), (-895, 4300, 570), (0, 90, 0));
CreateWalls((-640, 4910, 390), (-640, 4685, 660));
CreateWalls((-1155, 4685, 390), (-1155, 4910, 660));
CreateWalls((-570, 5440, 460), (-640, 4930, 660));
CreateWalls((-1155, 4930, 460), (-1155, 5945, 660));
CreateWalls((-1155, 5945, 460), (-910, 5945, 660));
CreateWalls((-1105, 4665, 392), (-965, 4665, 512));
CreateWalls((-825, 4665, 392), (-685, 4665, 512));
CreateWalls((3375, 2715, 195), (3765, 3210, 245));
CreateWalls((4425, 3580, 195), (4425, 3230, 315));
CreateWalls((4425, 3580, 380), (4425, 3230, 440));
CreateWalls((2960, 2800, 379), (3250, 2800, 409));
CreateDoors((-705, 4665, 412), (-895, 4665, 412), 90, -90, 0, 4, 2, 20, 75);
CreateDoors((3860, 3305, 212), (3860, 3485, 212), 90, 0, 0, 6, 2, 15, 100);
CreateRamps((3620, 2415, 369), (4015, 2705, 192));
CreateGrids((4380, 2330, 360), (4380, 2980, 360), (0, 0, 0));
CreateBlocks((2675, 3470, 207), (90, 0, 0));
CreateGrids((1785, 2507, 120), (1610, 2418, 120), (0, 0, 0));
CreateWalls((4045, 3615, 382), (3700, 3615, 383));
}
Underpass()
{
CreateElevator((-415, 3185, 392), (-1225, 3485, 1035), (0, 180, 0));
CreateBlocks((1110, 1105, 632), (90, 0, 0));
CreateBlocks((-3040, 3145, 1100), (90, 0, 0));
CreateBlocks((2444, 1737, 465), (90, 0, 0));
CreateWalls((-1100, 3850, 1060), (-1100, 3085, 1090));
CreateWalls((-1100, 3850, 1120), (-1100, 3085, 1150));
CreateWalls((-3030, 3453, 1040), (-3030, 3155, 1160));
CreateWalls((-3030, 3155, 1040), (-3330, 3155, 1160));
CreateWalls((-3330, 3155, 1040), (-3330, 3890, 1160));
CreateWalls((-3330, 3890, 1040), (-3030, 3890, 1160));
CreateWalls((-3030, 3155, 1190), (-3330, 3155, 1220));
CreateWalls((-3330, 3155, 1190), (-3330, 3890, 1220));
CreateWalls((-3330, 3890, 1190), (-3030, 3890, 1220));
CreateWalls((-3030, 3890, 1040), (-3030, 3592, 1160));
CreateWalls((-3030, 3890, 1150), (-3030, 3155, 1180));
CreateWalls((-3030, 3155, 1250), (-3330, 3155, 1295));
CreateWalls((-3330, 3155, 1250), (-3330, 3890, 1295));
CreateWalls((-3330, 3890, 1250), (-3030, 3890, 1295));
CreateWalls((-3030, 3890, 1250), (-3030, 3155, 1295));
CreateDoors((-3030, 3400, 1052), (-3030, 3522.5, 1052), 90, 180, 0, 4, 2, 20, 75);
CreateRamps((-3125, 3375, 1250), (-3125, 3210, 1120));
CreateRamps((-3100, 3855, 1125), (-3200, 3855, 1030));
CreateGrids((-3070, 3190, 1120), (-3070, 3855, 1120), (0, 0, 0));
CreateGrids((-3070, 3190, 1240), (-3070, 3855, 1240), (0, 0, 0));
}
Wasteland()
{
CreateDoors((1344, -778, -33), (1344, -898, -33), 90, 0, 0, 5, 2, 15, 75);
CreateDoors((684, -695, -16), (684, -825, -16), 90, 0, 0, 5, 2, 15, 75);
CreateDoors((890, -120, -12), (760, -120, -12), 90, 90, 0, 5, 2, 15, 125);
CreateDoors((958, -1072, -36), (958, -972, -36), 90, 0, 0, 3, 2, 10, 50);
CreateDoors((1057, -648, -36), (997, -748, -36), 90, -30, 0, 3, 2, 10, 50);
CreateDoors((10895, 12581, 1298), (11070, 12581, 1295), 90, 90, 0, 7, 2, 10, 50);
CreateElevator((218, -618, -26), (11288, 14676, 1298), (0, 300, 0));
CreateElevator((-2336, -1348, 32), (11046, 14518, 1298), (0, 270, 0));
CreateElevator((-1021, 1263, 77), (11232, 14122, 1298), (0, 270, 0));
CreateElevator((2836, 978, -124), (10917, 13826, 1298), (0, 270, 0));
CreateElevator((2348, -1855, -13), (11046, 13421, 1298), (0, 270, 0));
CreateWalls((10798, 12581, 1298), (10955, 12581, 1340));
CreateWalls((11167, 12581, 1298), (11379, 12581, 1340));
CreateRamps((10850, 11700, 1298), (10850, 12300, 1448));
CreateRamps((11300, 11700, 1298), (11300, 12300, 1448));
CreateGrids((10798, 12581, 1450), (11379, 12300, 1450), (0, 0, 0));
mgTurret1 = spawnTurret( "misc_turret", (11327, 12538, 1525), "pavelow_minigun_mp" );
mgTurret1.angles = (0, 90, 0);
mgTurret1 setModel( "weapon_minigun" );
mgTurret2 = spawnTurret( "misc_turret", (10837, 12538, 1525), "pavelow_minigun_mp" );
mgTurret2.angles = (0, 90, 0);
mgTurret2 setModel( "weapon_minigun" );
CreateGrids((10725, 14529, 1228), (10725, 10212, 1228), (0, 0, 0));
}
Strike()
{
CreateElevator((-655, 706, 52), (-1042, 569, 190), (0, -130, 0));
CreateGrids((-1165, 584, 185), (-1248, 519, 185), (0, 0, 0));
CreateDoors((-1353, 327, 215), (-1260, 327, 215), 90, 90, 0, 3, 1, 15, 75);
mgTurret1 = spawnTurret( "misc_turret", (-1322, 156, 268), "pavelow_minigun_mp" );
mgTurret1.angles = (0, 90, 0);
mgTurret1 setModel( "weapon_minigun" );
CreateElevator((-1034, 93, 187), (-177, 489, 28), (0, -90, 0));
CreateElevator((-738, 791, 60), (-1757, 1290, 20), (0, 130, 0));
CreateWalls((-3498, 1260, 10), (-3498, 1600, 100));
mgTurret1 = spawnTurret( "misc_turret", (-2934, 1564, 38), "pavelow_minigun_mp" );
mgTurret1.angles = (0, 0, 0);
mgTurret1 setModel( "weapon_minigun" );
mgTurret2 = spawnTurret( "misc_turret", (-2934, 1360, 31), "pavelow_minigun_mp" );
mgTurret2.angles = (0, 0, 0);
mgTurret2 setModel( "weapon_minigun" );
CreateElevator((-3255, 1561, 8), (-177, 489, 28), (0, -130, 0));
}
Crash()
{
CreateWalls((1658, 688, 590), (1658, 688, 650));
CreateRamps((1585, 424, 612), (1548, -430, 68));
CreateElevator((411, 481, 272), (-88, 3841, 830), (0, 0, 0));
CreateElevator((-1241, 3624, 688), (-1652, 3541, 913), (0, 130, 0));
CreateRamps((-2199, 3071, 900), (-2199, 2856, 1060));
CreateElevator((-2272, 2501, 1072), (-565, 1485, 420), (0, 130, 0));
}
Salvage()
{
CreateRamps((1147, 2896, 67), (1702, 2896, 254));
CreateGrids((1732, 2796, 260), (1932, 2996, 260), (0, 0, 0));
CreateDoors((1783, 3120, 300), (1783, 2894, 300), 90, 0, 0, 9, 2, 15, 197);
CreateElevator((1370, -710, 1), (1000, 2915, 85), (0, 0, 0));
CreateElevator((1956, 2988, 258), (1832, 2473, 430), (0, 180, 0));
CreateGrids((1832, 2473, 395), (1653, 2517, 395), (0, 0, 0));
}
Overgrown()
{
/* Created by maarten551 */
CreateRamps((1096, -4260, -13), (500, -4388, 109));
CreateGrids((500, -4200, 114), (143, -4667, 114), (0, 0, 0));
CreateWalls((500, -4200, 114), (143, -4200, 275));
/* Door Stuff */
CreateWalls((500, -4200, 114), (500, -4301, 160));
CreateWalls((500, -4667, 114), (500, -4489, 160));
CreateWalls((500, -4200, 220), (500, -4667, 275));
CreateDoors((510, -4301, 120), (500, -4400, 120),(90, 0, 0), 5, 2, 15, 75);
/* End Door Stuff */
CreateWalls((143, -4667, 114), (500, -4667, 275));
CreateWalls((143, -4667, 114), (143, -4200, 275));
}